JAX-WS 애플리케이션 패키징

JAX-WS(Java™ API(Application Programming Interface) for XML Web Service) 애플리케이션을 웹 서비스로 패키지할 수 있습니다. JAX-WS 웹 서비스는 EAR(Enterprise Archive) 파일 내의 WAR 모듈 또는 WAR(Web Application Archive) 파일에 포함됩니다.

JAX-WS 사용 WAR 파일은 다음을 포함합니다.
  • WEB-INF/web.xml 파일
  • 애플리케이션 모듈에 포함된 웹 서비스를 구현하는 어노테이션이 있는 클래스
  • [선택적] 애플리케이션 모듈에 포함된 웹 서비스를 설명하는 WSDL(Web Services Description Language) 문서
WEB-INF/web.xml 파일은 다음 예제와 유사합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" xmlns=http://java.sun.com/xml/ns/j2ee
         	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
         version="2.4">
</web-app>

web.xml은 서블릿 또는 서블릿 맵핑 요소입니다. web.xml 파일을 사용자 정의할 필요가 없는 경우, WebSphere® Application Server 런타임은 모듈이 로드될 때 동적으로 이 파일을 정의합니다. web.xml 파일 구성에 대한 자세한 정보는 JAX-WS 애플리케이션의 web.xml 파일에서 웹 URL 패턴 사용자 정의를 참조하십시오.

어노테이션이 있는 클래스는 최소한 @WebService 어노테이션이 포함된 웹 서비스 구현 클래스를 포함해야 합니다. 웹 서비스 관련 어노테이션의 정의 및 스펙은 JAX-WS 및 JSR-181 스펙에서 제공합니다. 웹 서비스 구현 클래스는 WAR 파일의 WEB-INF/lib 디렉토리에 포함된 JAR(Java Archive) 파일 내의 디렉토리 또는 WEB-INF/classes 내에 존재할 수 있습니다.

선택적으로 JAX-WS 애플리케이션 패키징에 WSDL 문서를 포함시킬 수 있습니다. 특정 웹 서비스의 WSDL 문서가 생략된 경우, WebSphere Application Server 런타임이 웹 서비스 구현 클래스에 포함된 어노테이션에서 동적으로 WSDL 정의를 구성합니다.

WebSphere Application Server 버전 7.0 이상을 시작하면 JAX-WS 서비스와 클라이언트를 식별하기 위한 어노테이션을 찾기 위해 Java EE 5 애플리케이션 모듈(웹 애플리케이션 모듈 버전 2.5 이상 또는 EJB 모듈 버전 3.0 이상)을 스캔합니다. 하지만 Java EE 5 이전 애플리케이션 모듈(웹 애플리케이션 모듈 버전 2.4 이하 또는 EJB 모듈 버전 2.1 이하)에서는 성능을 고려하여 기본적으로 JAX-WS 어노테이션을 스캔하지 않습니다. 버전 6.1 Feature Pack for Web Services의 경우 기본적으로 애플리케이션을 설치하는 동안 Java EE 5 이전 웹 애플리케이션 모듈을 스캔하여 JAX-WS 서비스를 식별하고 서비스 클라이언트용 Java EE 5 이전 웹 애플리케이션 모듈 및 EJB 모듈을 스캔합니다. WebSphere Application Server 버전 7.0 이상에서의 기본 동작은 애플리케이션 설치 또는 서버 시작 중에 어노테이션을 찾기 위해 Java EE 5 이전 모듈을 스캔하지 않고 이전 릴리스 기능팩과의 역방향 호환성을 유지하는 것이기 때문에 애플리케이션 설치 및 서버 시작 중에 스캐닝을 요청하려면 EJB 모듈 또는 WAR(Web Application Archive) 파일의 META-INF/MANIFEST.MF에서 UseWSFEP61ScanPolicy 특성을 구성하거나 JVM(Java Virtual Machine) 사용자 정의 특성(com.ibm.websphere.webservices.UseWSFEP61ScanPolicy)을 서버에서 정의해야 합니다. 어노테이션 스캐닝에 대해 보다 자세히 학습하려면 JAX-WS 어노테이션 정보를 참조하십시오.

문제점 방지 문제점 방지: 웹 서비스 애플리케이션 배치 중에 유틸리티 jar에서 어노테이션을 스캔하지 않습니다. 따라서 웹 서비스가 유틸리티 jar에서 패키지되는 경우에는 웹 서비스 엔진이 웹 서비스를 발견할 수 없습니다. 이 경우 애플리케이션 서버에 대한 구성 설정에서 필요에 따라 컴포넌트 시작 옵션이 선택되면 발견된 웹 서비스가 없기 때문에 애플리케이션 서버를 시작한 후 웹 서비스 컴포넌트를 시작할 수 없습니다. 사용자 정의 특성 com.ibm.websphere.webservices.StartWebServicesComponent를 사용하여 이 문제를 방지하십시오. gotcha
문제점 방지 문제점 방지: 애플리케이션/모듈과 함께 써드파티 웹 서비스의 SEI(Service Endpoint Interface) 및 구현 클래스를 패키지하는 것을 강력히 권장합니다. 이 방식으로 패키지하면 SEI 및 구현 클래스가 모두 애플리케이션의 클래스 로더에 표시되어 EndpointInterfaceDescriptionImpl: cannot find super class that was specified for this class 등의 예외가 발생하는 것을 방지합니다.

SEI 및 구현 클래스를 애플리케이션/모듈과 함께 패키지할 수 없는 경우에는 이 클래스가 포함된 jar 파일을 분리된 공유 라이브러리에 패키지한 후 이 공유 라이브러리를 애플리케이션/모듈과 연관시키도록 권장합니다.

gotcha

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_jaxwsapp
파일 이름:cwbs_jaxwsapp.html