본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

이론

Apache CXF란? : RESTful 서비스를 손쉽게 개발하다

Apache CXF

Apache에서 개발한 오픈소스의 웹서비스 프레임워크

주로 SOAP및  RESTful 웹서비스를 빌드/통합하는데 사용되나 xml/http, corba, json 등 다양한 웹서비스 표준을 지원한다.

간단히 RESTful 서비스를 손쉽게 개발할 수 있다고 하겠다.

 

예시코드로 간단히 확인만 해보자.

// 서비스 구축 및 배포:
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class CalculatorServicePublisher {

    public static void main(String[] args) {
        // CalculatorService 객체 생성
        CalculatorService calculatorService = new CalculatorService();

        // Apache CXF를 사용하여 서비스를 배포하는데 필요한 팩토리 빈 생성
        JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();

        // 서비스 클래스 설정: CalculatorService 클래스가 웹 서비스로 제공될 것임
        svrFactory.setServiceClass(CalculatorService.class);

        // 서비스의 주소 설정: 클라이언트가 접근할 URL을 지정
        svrFactory.setAddress("http://localhost:8080/calculator");

        // 서비스 빈 설정: 서비스가 제공될 클래스를 지정
        svrFactory.setServiceBean(calculatorService);

        // 서비스를 배포하고 구동
        svrFactory.create();
        
        // 배포 완료 메시지 출력
        System.out.println("CalculatorService is published. Endpoint: http://localhost:8080/calculator");
    }
}
// 클라이언트 생성 및 호출:
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class CalculatorServiceClient {

    public static void main(String[] args) {
        // Apache CXF를 사용하여 클라이언트 생성하는데 필요한 팩토리 빈 생성
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

        // 클라이언트가 사용할 서비스 클래스 설정
        factory.setServiceClass(CalculatorService.class);

        // 웹 서비스의 주소 설정: 서비스가 배포된 주소를 지정
        factory.setAddress("http://localhost:8080/calculator");

        // 클라이언트 생성
        CalculatorService calculatorService = (CalculatorService) factory.create();

        // 서비스 메서드 호출
        int resultAdd = calculatorService.add(10, 5);
        int resultSubtract = calculatorService.subtract(10, 5);

        // 결과 출력
        System.out.println("Addition Result: " + resultAdd);
        System.out.println("Subtraction Result: " + resultSubtract);
    }
}

https://standout.tistory.com/1163

 

SOAP와 REST의 차이

SOAP import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; @WebService @SOAPBinding(style = Style.RPC) public class CalculatorService { @WebMethod public int add(int num1, int n

standout.tistory.com

 

'이론' 카테고리의 다른 글

Spring Batch란?  (0) 2023.12.06
Spring Security란?  (0) 2023.12.06
SOAP란?  (0) 2023.12.06
SOAP와 REST의 차이  (0) 2023.12.06
MVC패턴이란?  (0) 2023.12.06