JAX-WS(Java™ API for XML-Based Web Services)는
차세대 웹 서비스 프로그래밍 모델입니다. JAX-WS를 사용하면 동적 프록시 및
Java 어노테이션을 사용하여 Java 애플리케이션과는
독립된 더 많은 플랫폼을 사용할 수 있기 때문에 웹 서비스 및 클라이언트 작성이 쉬워집니다.
WebSphere
JAX-WS 런타임 환경 사용
하향식 또는 상향식 Java 웹 서비스 및 클라이언트를
작성할 수 있습니다. JAX-WS
런타임 환경을 사용하는 EJB 웹 서비스 생성은
WebSphere® Application Server V7.0 이상 및 WebSphere Application Server Liberty Profile V8.5.5
이상에서만 지원됩니다.
WebSphere Application
Server V7.0 이상에서는 JAX-WS 런타임을 기본적으로 사용하도록
설정됩니다. 웹 프로젝트를 작성할 때 해당되는 WebSphere Application Server 버전의
기본 구성을 선택하기만 해도 올바른 패싯이 선택됩니다.
JAX-WS 웹 서비스 아티팩트
JAX-WS 웹 서비스는 웹 아카이브(WAR) 파일 또는
엔터프라이즈 아카이브(EAR) 파일 내의 WAR 모듈에 포함되어 있습니다. JAX-WS 사용 WAR 파일에는 다음이 포함되어 있습니다.
- WEB-INF/web.xml 파일
- web.xml은 서블릿 또는 서블릿 맵핑 요소를 포함하지 않습니다.
WebSphere Application
Server 런타임은 모듈을 로드할 때 이를 동적으로 정의합니다.
- 애플리케이션 모듈에 포함된 웹 서비스를 구현하는 어노테이션이 있는 클래스
- 어노테이션이 있는 클래스는 최소한 @javax.jws.WebService 어노테이션을 포함하는 웹 서비스 구현 클래스를
포함해야 합니다. 웹 서비스 관련 어노테이션의 정의 및 스펙은 JAX-WS 및 JSR-181 스펙에서
제공합니다. 웹 서비스 구현 클래스는 WAR 파일의 WEB-INF/lib 디렉토리에 포함된
JAR(Java 아카이브) 파일 내의 디렉토리 또는 WEB-INF/classes 내에 존재할 수 있습니다.
- 애플리케이션 모듈에 포함된 웹 서비스를 설명하는 WSDL(Web Services Description Language) 문서[선택사항]
- 선택적으로 WSDL 문서를 JAX-WS 애플리케이션 패키지에 포함시킬 수 있습니다.
특정 웹 서비스용 WSDL 문서를 생략하는 경우, WebSphere Application Server 런타임 환경은
웹 서비스 구현 클래스에 포함된 어노테이션에도 동적으로 WSDL 정의를 생성합니다.
WSDL 문서를 생략하는 경우
@javax.jws.WebService는 반드시 포함해야 하며 @WebMethod, @WebParam,
@WebResult, @SOAPBinding 어노테이션은 선택적으로 포함할 수 있습니다.