[java] Apache CXF의 엔드포인트 구성
Apache CXF는 SOAP 및 RESTful 웹 서비스를 구현하고 통합할 수 있는 오픈 소스 웹 서비스 프레임워크입니다. 이 프레임워크를 사용하면 웹 서비스에 대한 클라이언트 및 서버를 쉽게 구현할 수 있습니다. 이번에는 Apache CXF에서 서버 측 엔드포인트를 구성하는 방법에 대해 살펴보겠습니다.
서비스 인터페이스 정의
먼저, 서비스를 정의하기 위한 인터페이스를 작성해야 합니다. 이를테면 다음과 같이 정의할 수 있습니다:
public interface UserService {
String getUserInfo(String userId);
}
서비스 구현
다음으로는 서비스 인터페이스를 구현해야 합니다. 예를 들어 UserServiceImpl 클래스를 작성하여 getUserInfo 메서드를 구현할 수 있습니다:
public class UserServiceImpl implements UserService {
public String getUserInfo(String userId) {
// 사용자 정보를 가져와 반환하는 코드
}
}
엔드포인트 구성
서비스를 구현한 후에는 해당 서비스에 대한 엔드포인트를 구성해야 합니다. 이를 위해 Spring Framework를 사용하여 CXF 서블릿을 구성할 수 있습니다. web.xml 파일에 다음과 유사한 내용을 추가합니다:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<init-param>
<param-name>config-location</param-name>
<param-value>WEB-INF/cxf-beans.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
CXF Bean 구성
이제 CXF Bean을 구성하는 파일(cxf-beans.xml)을 작성해야 합니다. 이 파일은 CXF 서비스 및 엔드포인트를 정의합니다. 다음은 간단한 구성 예제입니다:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:endpoint id="userService" implementor="com.example.UserServiceImpl" address="/UserServiceImpl" />
</beans>
위 예제에서 implementor
속성은 서비스 구현 클래스를 지정하고, address
속성은 엔드포인트의 주소를 정의합니다.
이제 모든 설정이 완료되었습니다. 서버를 시작하고 해당 엔드포인트로 SOAP 또는 RESTful 요청을 보낼 수 있게 됩니다.
Apache CXF의 엔드포인트 구성에 대한 간략한 안내였습니다. 자세한 내용은 Apache CXF 공식 문서를 참고하시기 바랍니다.