어노테이션을 사용하여 웹 서비스 작성

JAX-WS(Java™ API for XML-Based web services를 사용하면, Java 코드에 어노테이션을 사용하여 웹 서비스 작성을 단순화할 수 있습니다.

JAX-WS(Java API for XML-Based Web Services) 프로그래밍 표준은 웹 서비스 구현과 연관된 메타데이터를 지정하는 데 어노테이션을 사용합니다. 표준은 웹 서비스 개발을 단순화하는 데도 어노테이션을 사용합니다. 어노테이션은 웹 서비스의 두 가지 관점에 대해 설명합니다. 첫 번째는 서버측 서비스 구현이 웹 서비스로 액세스되는 방법이고 두 번째는 클라이언트측 Java 클래스가 웹 서비스에 액세스하는 방법입니다.

JAX-WS 프로그래밍 표준은 서비스 엔드포인트 애플리케이션을 웹 서비스로 정의하고 클라이언트가 서비스에 액세스하는 방법을 지정하는 데 사용되는 메타데이터가 포함된 Java 클래스의 어노테이션 처리를 지원합니다. JAX-WS 표준은 여러 개의 JSR(Java Specification Requests)을 기반으로 하는 어노테이션 사용을 지원합니다. JSR 181 표준의 어노테이션을 사용하여 서비스 구현 클래스 또는 서비스 인터페이스를 어노테이션 처리할 수 있습니다. 그런 다음, 마법사를 사용하거나 애플리케이션을 서버에 공개하여 웹 서비스를 생성할 수 있습니다. Java 소스 코드 및 Java 클래스 내에서 어노테이션을 사용하여 웹 서비스 개발을 단순화합니다. 이러한 방법으로 어노테이션을 사용하면, 일반적으로 배치 디스크립터 파일, WSDL(Web Services Description Language) 파일 또는 XML과 WSDL에서 소스 아티팩트로의 메타데이터 맵핑에서 가져오는 자세한 정보를 정의합니다.

바인딩 및 핸들러 체인을 구성하고 portType 이름, 서비스, 기타 WSDL 매개변수를 설정하기 위해 어노테이션을 사용할 수 있습니다. 빌드 시기에 어노테이션을 사용하여 Java WSDL 및 스키마로 맵핑할 수 있으며, 실행 시에 이를 사용하여 JAX-WS 런타임이 웹 서비스 호출을 처리하고 이에 응답하는 방법을 제어할 수도 있습니다.

제품에서는 클라이언트에서 웹 서비스 클라이언트 마법사를 통해 작성한 어노테이션을 사용합니다. 마법사는 클라이언트 프록시뿐만 아니라 어노테이션이 포함된 정적 서비스 클래스도 생성합니다. 이 어노테이션은 클라이언트가 웹 서비스에 액세스하는 방법을 지정합니다.

사용할 수 있는 어노테이션에 대한 자세한 정보는 관련 참조를 참조하십시오.

지원되는 어노테이션 기반 웹 서비스 시나리오

웹 서비스 도구 및 WebSphere® 런타임 환경에서는 다음과 같은 웹 서비스 시나리오를 지원합니다.

표 1. 지원되는 런타임 환경. 어노테이션 기반 웹 서비스 시나리오에서 지원하는 런타임입니다.
시나리오 런타임 환경 주석
상향식 Java Bean WebSphere Application Server v7.0 이상 어노테이션만 사용하거나 웹 서비스 마법사를 함께 사용하여 완료할 수 있습니다. Bean에 이미 @javax.jws.WebService 어노테이션이 있는 경우 마법사가 위임 Bean을 생성하지 않아도 되기 때문에 이 마법사에 있는 대부분의 필드는 사용 불가능합니다. WSDL 파일 생성만 선택할 수 있습니다. Java Bean에 @javax.jws.WebService만 추가한 상태에서 SOAP 1.2 바인딩 또는 MTOM과 같은 다른 옵션을 사용하도록 설정하려면, 마법사를 종료한 후 어노테이션을 제거하거나 어노테이션 문서를 사용하여 웹 서비스 작성 단계를 진행하십시오. 마법사는 부분적으로 어노테이션이 이미 있는 기존 Bean에 새 어노테이션을 추가할 수 없습니다.
상향식 EJB 2.x 없음 어노테이션 사용으로 지원되지 않음
상향식 EJB 3.0 WebSphere Application Server v7.0 이상 어노테이션과 웹 서비스 마법사를 함께 사용할 수 없습니다. 어노테이션을 사용하고 EJB Bean을 애플리케이션 서버에 배치해야 합니다.
중간 합류식 Java Bean WebSphere Application Server v7.0 이상 이 시나리오를 사용하면 wsdlLocation 속성을 사용하여 웹 서비스 어노테이션이 있는 Java Bean을 WSDL 문서로 맵핑할 수 있습니다.
참고: SOAP 1.2를 사용하려는 경우
@javax.xml.ws.BindingType (value=javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) 
@WebService 어노테이션의 wsdlLocation 속성을 다음 예제와 같이 지정해야 합니다.
@javax.jws.WebService (targetNamespace="http://p/", ..., wsdlLocation="WEB-INF/wsdl/EchoService.wsdl")
WebSphere Application Server에서 동적으로 생성된 WSDL 파일을 사용할 수 없지만 WSDL 파일을 미리 작성해야 합니다. 또는 웹 서비스 마법사를 사용해도 됩니다. Java Bean에서 웹 서비스를 생성할 때 SOAP 1.2를 사용하도록 선택할 경우 웹 서비스 마법사에서 WSDL 파일을 생성합니다.

자세한 정보는 Java Bean 및 WSDL 파일에서 웹 서비스 작성의 내용을 참조하십시오.

중간 합류식 EJB 3.0 WebSphere Application Server v7.0 이상 이 시나리오를 사용하면 wsdlLocation 속성을 사용하여 웹 서비스 어노테이션이 있는 EJB Bean을 WSDL 문서로 맵핑할 수 있습니다.

자세한 정보는 EJB Bean 및 WSDL 파일에서 웹 서비스 작성의 내용을 참조하십시오.

예제

예를 들어, Java 소스에 @WebService 태그를 임베드하여 웹 서비스로 Bean을 표시할 수 있습니다.
@WebService 

public class QuoteBean implements StockQuote {

       public float getQuote(String sym) { ... }

}

@WebService 어노테이션은 해당 Bean의 전체 공용 메소드를 웹 서비스로 표시하도록 서버 런타임 환경에 설정합니다. 메소드나 매개변수 각각에 기타 어노테이션을 추가하여 추가 표시 레벨을 제어할 수 있습니다. 어노테이션을 사용하면 웹 서비스로 Java 아티팩트를 표시하기 더 쉬워집니다. 또한 WSDL 파일을 시작으로 하는 일부 하향식 맵핑 도구를 사용하여 아티팩트를 작성할 때 어노테이션은 소스 및 Java 클래스 내에 소스 파일과 같이 메타데이터를 캡처하는 방법으로 포함됩니다.

주제 유형을 표시하는 아이콘 개념 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: cwsandoc001.html