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
'이론' 카테고리의 다른 글
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 |