JAX-WS(Java™ API for XML-Based web services를 사용하면, Java 코드에 어노테이션을 사용하여 웹 서비스 작성을 단순화할 수 있습니다.
JAX-WS(Java API for XML-Based Web Services) 프로그래밍 표준은 웹 서비스 구현과 연관된 메타데이터를 지정하는 데 어노테이션을 사용합니다. 표준은 웹 서비스 개발을 단순화하는 데도 어노테이션을 사용합니다. 어노테이션은 웹 서비스의 두 가지 관점에 대해 설명합니다. 첫 번째는 서버측 서비스 구현이 웹 서비스로 액세스되는 방법이고 두 번째는 클라이언트측 Java 클래스가 웹 서비스에 액세스하는 방법입니다.
바인딩 및 핸들러 체인을 구성하고 portType 이름, 서비스, 기타 WSDL 매개변수를 설정하기 위해 어노테이션을 사용할 수 있습니다. 빌드 시기에 어노테이션을 사용하여 Java WSDL 및 스키마로 맵핑할 수 있으며, 실행 시에 이를 사용하여 JAX-WS 런타임이 웹 서비스 호출을 처리하고 이에 응답하는 방법을 제어할 수도 있습니다.
제품에서는 클라이언트에서 웹 서비스 클라이언트 마법사를 통해 작성한 어노테이션을 사용합니다. 마법사는 클라이언트 프록시뿐만 아니라 어노테이션이 포함된 정적 서비스 클래스도 생성합니다. 이 어노테이션은 클라이언트가 웹 서비스에 액세스하는 방법을 지정합니다.
사용할 수 있는 어노테이션에 대한 자세한 정보는 관련 참조를 참조하십시오.
웹 서비스 도구 및 WebSphere® 런타임 환경에서는 다음과 같은 웹 서비스 시나리오를 지원합니다.
시나리오 | 런타임 환경 | 주석 |
---|---|---|
상향식 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를 사용하려는 경우
@WebService 어노테이션의
wsdlLocation 속성을 다음 예제와 같이 지정해야 합니다.
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 파일에서 웹 서비스 작성의 내용을 참조하십시오. |
@WebService
public class QuoteBean implements StockQuote {
public float getQuote(String sym) { ... }
}
@WebService 어노테이션은 해당 Bean의 전체 공용 메소드를 웹 서비스로 표시하도록 서버 런타임 환경에 설정합니다. 메소드나 매개변수 각각에 기타 어노테이션을 추가하여 추가 표시 레벨을 제어할 수 있습니다. 어노테이션을 사용하면 웹 서비스로 Java 아티팩트를 표시하기 더 쉬워집니다. 또한 WSDL 파일을 시작으로 하는 일부 하향식 맵핑 도구를 사용하여 아티팩트를 작성할 때 어노테이션은 소스 및 Java 클래스 내에 소스 파일과 같이 메타데이터를 캡처하는 방법으로 포함됩니다.