JAX-WS 어노테이션

JAX-WS(Java™ API for XML-Based Web Services)에서는 어노테이션을 사용하여 웹 서비스 구현과 연관된 메타데이터를 지정하고 웹 서비스의 개발을 단순화해야 합니다. 어노테이션에서는 서버측 서비스 구현에 웹 서비스로 액세스하는 방법 또는 클라이언트측 Java 클래스가 웹 서비스에 액세스하는 방법에 대해 설명합니다.

표준 JAX-WS 프로그래밍은 서비스 엔드포인트 애플리케이션을 웹 서비스로 정의하는 데 사용되는 메타데이터로 Java 클래스를 어노테이션 지정하도록 지원하고 클라이언트가 웹 서비스에 액세스하는 방법을 제공합니다. JAX-WS는 Metadata Facility for Java Programming Language(JSR(Java Specification Request) 175) 스펙, Web Services Metadata for the Java Platform(JSR 181) 스펙 및 JAXB 어노테이션을 포함하는 JAX-WS 2.0 이상(JSR 224) 스펙에서 정의된 어노테이션을 기반으로 한 어노테이션 사용을 지원합니다. JSR 181 표준에서 어노테이션을 사용하면, 서비스 구현 클래스 또는 서비스 인터페이스를 어노테이션 지정할 수 있으며 애플리케이션이 웹 서비스로 사용됩니다. Java 소스에서 어노테이션을 사용하면 일반적으로 배치 디스크립터 파일, WSDL 파일에서 얻을 수 있는 추가 정보의 일부를 정의하거나 XML 및 WSDL의 메타데이터를 소스 아티팩트로 맵핑하여 웹 서비스 개발 및 배치를 단순화합니다.

어노테이션을 사용하여 바인딩, 핸들러 체인, portType의 세트 이름, 서비스 및 기타 WSDL 매개변수를 구성하십시오. 어노테이션은 Java를 WSDL 및 스키마에 맵핑하는 데 사용되고 런타임 시 JAX-WS 런타임에서 웹 서비스 호출을 처리하고 응답하는 방식을 제어하는 데에도 사용됩니다.

JAX-WS 웹 서비스의 경우, 어노테이션을 사용하여 배치 디스크립터 파일에 포함된 모든 정보를 지정할 수 있기 때문에 webservices.xml 배치 디스크립터를 선택적으로 사용할 수 있습니다. 배치 디스크립터 파일을 사용하여 기존 JAX-WS 어노테이션을 기능 보강하거나 대체할 수 있습니다. webservices.xml 배치 디스크립터에 정의한 정보는 어노테이션으로 지정된 모든 해당 정보를 대체합니다.

WebSphere® Application Server 버전 7.0 이상으로 시작하면 Java EE 5 애플리케이션 모듈(웹 애플리케이션 모듈 버전 2.5 이상 또는 EJB 모듈 버전 3.0 이상)이 JAX-WS 서비스 및 클라이언트를 식별하기 위해 어노테이션을 스캐닝합니다. 하지만 기본적으로 성능을 고려하여 JAX-WS 어노테이션을 찾기 위해 Java EE 5 이전 애플리케이션 모듈(웹 애플리케이션 모듈 버전 2.4 이하 또는 EJB 모듈 버전 2.1 이하)을 스캔하지 않습니다.

버전 6.1 Feature Pack for Web Services에서, 기본적으로 Java EE(Java Platform, Enterprise Edition) 5 이전 웹 애플리케이션 모듈을 스캔하여 JAX-WS 서비스를 식별하고, 애플리케이션 설치 중에 서비스 클라이언트를 찾기 위해 Java EE 5 이전 웹 애플리케이션 모듈 및 EJB 모듈을 스캔합니다. WebSphere Application Server 버전 7.0 이상에 대한 기본 작동이 애플리케이션 설치 또는 서버 시작 중에 어노테이션을 찾기 위해 Java EE 5 이전 모듈을 스캔하는 것이 아니기 때문에, 이전 릴리스에서 기능팩에 대한 역호환성을 유지하려면 다음 특성 중 하나를 구성해야 합니다.
  • EJB 모듈 또는 WAR 파일의 META-INF/MANIFEST.MF에서 UseWSFEP61ScanPolicy 특성을 true로 설정할 수 있습니다. 예를 들어 다음과 같습니다.
    Manifest-Version: 1.0
    UseWSFEP61ScanPolicy: true
    모듈의 META-INF/MANIFEST.MF 파일에서 이 특성이 true로 설정되는 경우, 모듈의 Java EE 버전에 관계없이 JAX-WS 어노테이션을 찾기 위해 모듈을 스캔합니다. 기본값이 false이고 이 기본값이 적용되는 경우, 버전이 Java EE 5 이상인 모듈에서만 JAX-WS 어노테이션이 지원됩니다.
  • 관리 콘솔을 사용하여 com.ibm.websphere.webservices.UseWSFEP61ScanPolicy 사용자 정의 JVM(Java virtual machine) 특성을 설정할 수 있습니다. 올바른 탐색 경로를 사용하려면 JVM 사용자 정의 특성 문서를 참조하십시오. Java EE 버전에 관계없이 모든 모듈에서 어노테이션 스캔을 요청하려면 사용자 정의 특성 com.ibm.websphere.webservices.UseWSFEP61ScanPolicytrue로 설정하십시오. 기본 동작에서 변경이 필요한 각 서버에 대한 설정을 변경해야 합니다.
특성이 모듈의 META-INF/MANIFEST.MF 파일 내에 설정되면 이 설정은 서버의 사용자 정의 JVM 특성보다 우선합니다. 특성을 사용하는 경우, 애플리케이션을 설치하기 전에 원하는 어노테이션 스캔 동작을 설정해야 합니다. 애플리케이션이 설치되면 스캔 동작을 동적으로 변경할 수 없습니다. 애플리케이션이 설치된 후 동작에 대한 변경이 필요한 경우, 먼저 애플리케이션을 설치 제거하고, 적합한 특성을 사용하여 원하는 스캔 동작을 지정한 다음, 애플리케이션을 다시 설치해야 합니다. 노드에 포함된 서버의 구성에서 com.ibm.websphere.webservices.UseWSFEP61ScanPolicytrue로 설정한 노드를 연합시키는 경우, 이 특성이 배치 관리자에 영향을 미치지 않습니다. 연합 전에 노드에 있던 그대로 동작을 유지하도록 노드를 연합하려면 먼저 배치 관리자에서 특성을 true로 설정해야 합니다.
[z/OS]
문제점 방지 문제점 방지: 이 JVM 특성이 z/OS® 플랫폼에서 사용되는 경우, 서버의 하위(servant) 및 제어 영역 모두에서 설정되어야 합니다. gotcha
문제점 방지 문제점 방지: 노드에 포함된 서버의 구성에서 com.ibm.websphere.webservices.UseWSFEP61ScanPolicytrue로 설정한 노드를 연합시키는 경우, 이 특성이 배치 관리자에 영향을 미치지 않습니다. 연합 전에 노드에 있던 그대로 동작을 유지하도록 하려는 경우 노드를 연합하려면 먼저 배치 관리자에서 특성을 true로 설정해야 합니다.gotcha
JAX-WS가 지원하는 어노테이션이 다음 테이블에 나열됩니다. 어노테이션의 대상은 해당 Java 오브젝트에 적용 가능합니다.
  • Java 클래스, enum 또는 인터페이스와 같은 유형
  • 메소드
  • Java 클래스에서 로컬 인스턴스 변수를 나타내는 필드
  • Java 메소드 내의 매개변수
표 1. 웹 서비스 메타데이터 어노테이션(JSR 181). 지원되는 웹 서비스 메타데이터 어노테이션 및 연관된 특성에 대해 설명합니다.
어노테이션 클래스 어노테이션 특성
javax.jws. WebService @WebService 어노테이션은 웹 서비스를 구현할 때에는 Java 클래스를 표시하고 웹 서비스 인터페이스를 구현할 때에는 SEI(Service Endpoint Interface)를 표시합니다.
중요사항:
  • 웹 서비스를 구현하는 Java 클래스가 @WebService 또는 @WebServiceProvider 어노테이션을 지정해야 합니다. 어노테이션이 둘 다 있을 수는 없습니다.이 어노테이션은 클라이언트 또는 서버 SEI 또는 서버 엔드포인트 구현 클래스에서 적용 가능합니다.
  • 어노테이션이 endpointInterface 속성을 통해 SEI를 참조하는 경우, SEI에 @WebService 어노테이션을 지정해야 합니다.
  • 서비스 엔드포인트 구현에서 @WebService 및 @WebMethod 어노테이션을 사용하여 JAX-WS 웹 서비스로 노출하려는 Java 메소드를 지정하기 위한 우수 사례에 대해 학습하려면 SEI 기반 JAX-WS 웹 서비스 정보에서 노출 메소드를 참조하십시오.
  • 어노테이션 대상: 유형
  • 특성:
    - name
    wsdl:portType의 이름. 기본값은 Java 클래스 또는 인터페이스의 불완전한 이름입니다. (문자열).
    - targetNamespace
    웹 서비스에서 생성된 WSDL 및 XML 요소의 XML 네임스페이스를 지정합니다. 기본값은 웹 서비스를 포함하는 패키지 이름에서 맵핑된 네임스페이스입니다. (문자열).
    - serviceName
    웹 서비스의 서비스 이름(wsdl:service)을 지정합니다. 기본값은 Java class + Service의 간단한 이름입니다(문자열).
    - endpointInterface
    서비스의 추상 웹 서비스 계약을 정의하는 SEI(Service Endpoint Interface)의 완전한 이름을 지정합니다. 지정한 후, SEI(Service Endpoint Interface)는 추상 WSDL 계약을 판별하는 데 사용됩니다(문자열).
    - portName
    wsdl:portName. 기본값은 WebService.name +Port입니다.(문자열).
    - wsdlLocation
    웹 서비스를 정의하는 WSDL 문서의 웹 주소를 지정합니다. 웹 주소는 상대적 또는 절대적입니다. (문자열).
javax.jws. WebMethod @WebMethod 어노테이션은 웹 서비스 조작인 메소드를 선언합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 특성:
    - operationName
    이 메소드와 일치하는 wsdl:operation의 이름을 지정합니다. 기본값은 Java 메소드의 이름입니다. (문자열).
    - action
    이 조작에 대한 조치를 정의합니다. SOAP 바인딩의 경우, 이 값은 SOAPAction 헤더의 값을 판별하고 명시적으로 설정되어야 합니다.
    - exclude
    웹 서비스에서 메소드를 제외할지 지정합니다. 기본값은 false입니다.(부울)
javax.jws. Oneway @Oneway 어노테이션은 메소드를 입력 메시지만 있고 출력 메시지는 없는 웹 서비스의 단방향 조작으로 선언합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 단방향 어노테이션에 대한 특성이 없습니다.
javax.jws. WebParam @WebParam 어노테이션은 웹 서비스 메시지 파트 및 XML 요소에 대한 개별 매개변수의 맵핑을 사용자 정의합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 매개변수
  • 특성:
    - name
    매개변수의 이름. 조작이 원격 프로시저 호출(RPC) 양식이고 partName 속성이 지정되지 않은 경우, 이 이름은 매개변수를 나타내는 wsdl:part 속성의 이름입니다. 조작이 문서 양식이거나 매개변수가 헤더에 맵핑되는 경우, -name이 매개변수를 나타내는 XML 요소의 로컬 이름입니다. 조작이 문서 양식이고, 매개변수 양식이 BARE이며, 모드가 OUT 또는 INOUT인 경우, 이 속성이 필수입니다. (문자열).
    - partName
    이 매개변수를 나타내는 wsdl:part 속성의 이름을 정의합니다. 조작이 RPC 양식이거나, 조작이 문서 양식이고 매개변수 양식이 BARE인 경우에만 사용됩니다. (문자열).
    - targetNamespace
    매개변수에 XML 요소의 XML 네임스페이스를 지정합니다. 속성이 XML 요소에 맵핑될 때 문서 바인딩에만 적용됩니다. 웹 서비스에 대한 기본값은 targetNamespace입니다. (문자열).
    - mode
    값은 매개변수가 이 메소드에 대해 플로우되는 방향을 나타냅니다. 유효값은 IN, INOUTOUT입니다. (문자열).
    - header
    매개변수가 메시지 본문이 아닌 메시지 헤더에 있는지 지정합니다. 기본값은 false입니다. (부울)
javax.jws. WebResult @WebResult 어노테이션이 WSDL 파트 또는 XML 요소에 대한 리턴 값의 맵핑을 사용자 정의합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 특성:
    - name
    리턴 값이 WSDL 파일에 나열되어 있고 연결되어 있는 메시지에 있는 경우 리턴 값의 이름을 지정합니다. RPC 바인딩의 경우, 리턴값을 나타내는 wsdl:part 속성의 이름입니다. 문서 바인딩의 경우, -name 매개변수는 리턴값을 나타내는 XML 요소의 로컬 이름입니다. RPC 및 DOCUMENT/WRAPPED 바인딩에 대한 기본값은 return입니다. 기본값은 메소드 이름 + DOCUMENT/BARE 바인딩에 대한 Response입니다.(문자열).
    - targetNamespace
    리턴값에 대한 XML 네임스페이스를 지정합니다. 이 매개변수는 조작이 RPC 양식이거나 조작이 DOCUMENT 양식이고 매개변수 양식이 BARE인 경우에만 사용됩니다.(문자열).
    - header
    결과가 헤더에 표시되는지를 지정합니다. 기본값은 false입니다.(부울)
    - partName
    RPC 또는 DOCUMENT/BARE 조작으로 결과에 대한 파트 이름을 지정합니다. 기본값은 @WebResult.name입니다. (문자열).
javax.jws. HandlerChain @HandlerChain 어노테이션은 웹 서비스를 외부적으로 정의한 핸들러 체인과 연관시킵니다.

SEI(Service Endpoint Interface) 또는 서비스 엔드포인트 구현 클래스에서 @HandlerChain 어노테이션을 사용하여 서버측 핸들러만 구성할 수 있습니다.

몇 가지 방법 중 하나를 사용하여 클라이언트측 핸들러를 구성하십시오. 생성된 서비스 클래스 또는 SEI에서 @HandlerChain 어노테이션을 사용하여 클라이언트측 핸들러를 구성할 수 있습니다. 또한 서비스에서 HandlerResolver 인터페이스의 사용자 구현을 프로그래밍 방식으로 등록하거나 바인딩 오브젝트에서 핸들러 체인을 프로그래밍 방식으로 설정할 수 있습니다.

  • 어노테이션 대상: 유형
  • 특성:
    - file
    핸들러 체인 파일의 위치를 지정합니다. 파일 위치는 외부 양식의 절대 java.net.URL 또는 클래스 파일의 상대 경로입니다(문자열).
    - name
    구성 파일에서 핸들러 체인의 이름을 지정합니다. (문자열).
javax.jws. SOAPBinding @SOAPBinding 어노테이션은 SOAP 메시지 프로토콜에 대한 웹 서비스의 맵핑을 지정합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 유형 또는 메소드에 이 어노테이션을 적용하십시오.

메소드 레벨의 어노테이션이 지정할 수 있는 내용으로 제한되며 style 특성이 DOCUMENT인 경우에만 사용됩니다. 메소드 레벨의 어노테이션이 지정되지 않은 경우, 유형의 @SOAPBinding 동작이 사용됩니다.

  • 어노테이션 대상: 유형 또는 메소드
  • 특성:
    - style
    웹 서비스로(부터) 전송되는 메시지의 인코딩 유형을 정의합니다. 유효값은 DOCUMENTRPC입니다. 기본값은 DOCUMENT입니다. (문자열).
    - use
    웹 서비스로(부터) 전송되는 메시지에 사용되는 형식을 정의합니다. 기본값은 LITERAL입니다. ENCODED는 지원되지 않습니다. (문자열).
    - parameterStyle
    메소드의 매개변수가 전체 메시지 본문을 나타내는지 또는 매개변수가 조작 후 이름 지정된 최상위 레벨의 요소 내에 랩핑된 요소인지 판별합니다. 유효값은 WRAPPED 또는 BARE입니다. DOCUMENT 양식 바인딩에서 BARE 값만 사용할 수 있습니다. 기본값은 WRAPPED입니다. (문자열).

표 2. JAX-WS 어노테이션(JSR 224). 지원되는 JAX-WS 어노테이션 및 연관된 특성에 대해 설명합니다.
어노테이션 클래스 어노테이션 특성
javax.xml.ws. Action @Action 어노테이션은 웹 서비스 조작과 연관된 WS-Addressing 조치를 지정합니다.

특정한 메소드와 함께 이 어노테이션을 사용하고 해당 WSDL 문서를 생성하면, WS-Addressing 조치 확장자 속성이 해당 메소드에 해당하는 WSDL 조작의 입력 및 출력 요소에 추가됩니다.

또한 이 속성을 WSDL 조작에 추가하려면 서버 엔드포인트 구현 클래스에서 @Addressing 어노테이션을 지정해야 합니다. @Addressing 어노테이션을 사용하지 않으려면 조치 속성이 이미 정의된 사용자의 WSDL 문서를 제공할 수 있습니다.

  • 어노테이션 대상: 메소드
  • 특성:
    - fault
    조작의 wsdl:fault 에 대한 FaultAction 배열을 지정합니다(문자열).
    - input
    조작의 wsdl:input에 대한 조치를 지정합니다(문자열).
    - output
    조작의 wsdl:output에 대한 조치를 지정합니다(문자열).
javax.xml.ws. BindingType @BindingType 어노테이션은 이 유형의 엔드포인트를 공개할 때 사용할 바인딩을 지정합니다.

서버 엔드포인트 구현 클래스에 이 어노테이션을 적용하십시오.

중요사항: 어노테이션에 대한 값으로 javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING 또는 javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING을 지정하여 MTOM을 사용하려면 JavaBeans 엔드포인트 구현 클래스에서 @BindingType 어노테이션을 사용할 수 있습니다.
  • 어노테이션 대상: 유형
  • 특성:
    - value
    바인딩 ID 웹 주소를 표시합니다. 유효값은 javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDINGjavax.xml.ws.http.HTTPBinding.HTTP2HTTP_BINDING입니다. 기본값은 javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING입니다. (문자열).
javax.xml.ws. FaultAction @FaultAction 어노테이션은 잘못된 응답에 추가된 WS-Addressing 조치를 지정합니다.

이 어노테이션은 @Action 어노테이션에 포함되어야 합니다.

특정한 메소드와 함께 이 어노테이션을 사용하면, WS-Addressing FaultAction 확장자 속성이 해당 메소드에 맞는 WSDL 조작의 잘못된 요소에 추가됩니다.

또한 이 속성을 WSDL 조작에 추가하려면 서버 엔드포인트 구현 클래스에서 @Addressing 어노테이션을 지정해야 합니다. @Addressing 어노테이션을 사용하지 않으려면 조치 속성이 이미 정의된 사용자의 WSDL 문서를 제공할 수 있습니다.

  • 어노테이션 대상: 메소드
  • 특성:
    - value
    조작의 wsdl:fault에 대한 조치를 지정합니다(문자열).
    - output
    예외 클래스의 이름을 지정합니다. (문자열).
    - className
    요청 랩퍼를 나타내는 클래스의 이름을 지정합니다. (문자열).
javax.xml.ws. RequestWrapper @RequestWrapper 어노테이션은 런타임 시 사용되는 요청 랩퍼 Bean에 대한 직렬화 및 직렬화 해제를 위해 JAXB 생성 요청 랩퍼 Bean, 요소 이름 및 네임스페이스를 제공합니다.

Java 오브젝트를 시작할 때 이 요소는 문서 리터럴 모드에서 오버로드 충돌을 해결하는 데 사용됩니다. className 속성은 이 경우에만 필요합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 특성:
    - localName
    요청 랩퍼를 나타내는 XML 스키마 요소의 로컬 이름을 지정합니다. 기본값은 javax.jws.WebMethod 어노테이션에서 정의된 대로 operationName입니다(문자열).
    - targetNamespace
    요청 랩퍼 메소드의 XML 네임스페이스를 지정합니다. 기본값은 SEI의 대상 네임스페이스입니다. (문자열).
    - className
    요청 랩퍼를 나타내는 클래스의 이름을 지정합니다. (문자열).
    - partName
    RequestWrapper 클래스의 XML 스키마 요소를 나타내는 wsdl:part 속성의 이름을 지정합니다. 이 특성은 JAX-WS 2.2 이상에 적용 가능합니다. (문자열).
javax.xml.ws. ResponseWrapper @ResponseWrapper 어노테이션은 런타임 시 사용되는 응답 랩퍼 Bean에 대한 직렬화 및 직렬화 해제를 위해 JAXB 생성 응답 랩퍼 Bean, 요소 이름 및 네임스페이스를 제공합니다.

Java 오브젝트를 시작할 때 이 요소는 문서 리터럴 모드에서 오버로드 충돌을 해결하는 데 사용됩니다. className 속성은 이 경우에만 필요합니다.

클라이언트 또는 서버 SEI(Service Endpoint Interface) 또는 서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 특성:
    - localName
    요청 랩퍼를 나타내는 XML 스키마 요소의 로컬 이름을 지정합니다. 기본값은 operationName + Response입니다. operationName은 javax.jws.WebMethod 어노테이션에 정의됩니다. (문자열).
    - targetNamespace
    요청 랩퍼 메소드의 XML 네임스페이스를 지정합니다. 기본값은 SEI의 대상 네임스페이스입니다. (문자열).
    - className
    응답 랩퍼를 나타내는 클래스의 이름을 지정합니다. (문자열).
    - partName
    ResponseWrapper 클래스의 XML 스키마 요소를 나타내는 wsdl:part 속성의 이름을 지정합니다. 이 특성은 JAX-WS 2.2 이상에 적용 가능합니다. (문자열).
javax.xml.ws. RespectBinding @RespectBinding 어노테이션은 JAX-WS 구현이 엔드포인트에 wsdl:binding의 컨텐츠를 사용해야 하는지를 지정합니다.

이 어노테이션이 지정되면, 사용 가능한 속성이 true로 설정된 모든 필수 WSDL 확장 요소를 확인하기 위한 검사 수행이 지원됩니다.

서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
  • 특성:
    - enabled
    wsdl:binding를 사용해야 하는지를 지정합니다. 기본값은 true입니다.(부울)
javax.xml.ws. ServiceMode @ServiceMode 어노테이션은 서비스 제공자가 전체 프로토콜 메시지 또는 메시지 페이로드에 대한 액세스 권한을 가져야 하는지 지정합니다.
중요사항: @ServiceMode 어노테이션은 @WebServiceProvider 어노테이션으로 어노테이션 지정되는 클래스에서만 지원됩니다.
  • 어노테이션 대상: 유형
  • 특성:
    - value
    제공자 클래스가 메시지 페이로드 PAYLOAD 또는 전체 메시지 MESSAGE를 허용하는지 나타냅니다. 기본값은 PAYLOAD입니다(문자열).
javax.xml.ws. soap.Addressing @Addressing 어노테이션은 이 서비스가 WS-Addressing 지원을 사용하려 한다고 지정합니다.

서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 유형
  • 특성:
    - enabled
    WS-Addressing이 사용 가능한지 여부를 지정합니다. 기본값은 true입니다.(부울)
    - required
    WS-Addressing 헤더가 수신 메시지에 있어야 한다고 지정합니다. 기본값은 false입니다.(부울)
    - responses
    사용할 메시지 교환 패턴을 지정합니다. 기본값은 Responses.ALL입니다. 이 특성은 JAX-WS 2.2 이상에 적용 가능합니다. (문자열).
javax.xml.ws. soap.MTOM @MTOM 어노테이션은 MTOM을 사용하여 SOAP 메시지 본문의 2진 컨텐츠를 전송하는지 지정합니다.

서비스 엔드포인트 구현 클래스에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 클래스
  • 특성:
    - enabled
    JAX-WS 엔드포인트에 대한 MTOM이 사용 가능한지 지정합니다. 기본값은 true입니다.(부울)
    - threshold
    MTOM을 사용하여 전송되는 메시지의 최소 크기를 지정합니다. 메시지 크기가 지정된 정수보다 작을 때 메시지가 XML 문서에 base64 또는 hexBinary 데이터로 인라인 지정됩니다(정수).
javax.xml.ws. WebFault @WebFault 어노테이션이 WSDL 결함을 Java 예외로 맵핑합니다. 이 어노테이션은 WSDL 결함 메시지에서 참조된 글로벌 요소에서 생성되는 JAXB 유형의 직렬화 중에 결함 이름을 캡처하는 데 사용됩니다. 또한 WSDL 결함에 대한 서비스의 예외 맵핑을 사용자 정의하는 데 사용할 수도 있습니다.

이 어노테이션은 클라이언트 또는 서버에서 결함 구현 클래스에만 적용 가능합니다.

  • 어노테이션 대상: 유형
  • 특성:
    - name
    WSDL 파일에서 해당 결함을 나타내는 XML 요소의 로컬 이름을 지정합니다. 실제 값을 지정해야 합니다. (문자열).
    - targetNamespace
    WSDL 파일에서 해당 결함을 나타내는 XML 요소의 네임스페이스를 지정합니다(문자열).
    - faultBean
    결함 Bean 클래스의 이름을 지정합니다(문자열).
    - messageName
    WSDL 파일에서 해당 결함을 나타내는 wsdl:message 속성의 이름을 지정합니다. 이 특성은 JAX-WS 2.2 이상에 적용 가능합니다. (문자열).
javax.xml.ws. WebServiceProvider @WebServiceProvider 어노테이션은 클래스가 JAX-WS 제공자 구현 클래스에 대한 요구사항을 만족시킨다고 선언합니다.
중요사항:
  • 웹 서비스를 구현하는 Java 클래스가 @WebService 또는 @WebServiceProvider 어노테이션을 지정해야 합니다. 어노테이션이 둘 다 있을 수는 없습니다.
  • @WebServiceProvider 어노테이션은 서비스 구현 클래스에서만 지원됩니다.
@WebServiceProvider 어노테이션이 있는 클래스가 javax.xml.ws.Provider 인터페이스를 구현해야 합니다.
  • 어노테이션 대상: 유형
  • 특성:
    - targetNamespace
    웹 서비스에서 생성된 WSDL 및 XML 요소의 XML 네임스페이스를 지정합니다. 기본값은 웹 서비스를 포함하는 패키지 이름에서 맵핑된 네임스페이스입니다. (문자열).
    - serviceName
    웹 서비스의 서비스 이름(wsdl:service)을 지정합니다. 기본값은 Java class + Service의 간단한 이름입니다(문자열).
    - portName
    wsdl:portName. 기본값은 클래스 이름 + Port입니다(문자열).
    - wsdlLocation
    웹 서비스를 정의하는 WSDL 문서의 웹 주소. 이 속성은 필수입니다. (문자열).
javax.xml.ws. WebServiceRef @WebServiceRef 어노테이션은 클라이언트에서 호출된 웹 서비스에 대한 참조를 정의합니다.
참고:
  • @WebServiceRef 어노테이션은 JAX-WS 서비스 및 포트의 인스턴스를 삽입하기 위해 사용될 수 있습니다.
  • @WebServiceRef 어노테이션은 특정 클래스 유형에서만 지원됩니다. 예제는 JAX-WS 엔드포인트 구현 클래스, JAX-WS 핸들러 클래스, Enterprise JavaBeans 클래스 및 서블릿 클래스입니다. 이 어노테이션은 @Resource 어노테이션과 동일한 클래스 유형에서 지원됩니다. 지원되는 클래스 유형에 대한 전체 목록은 Java EE(Java Platform, Enterprise Edition) 5 스펙을 참조하십시오.
  • 어노테이션 대상: 유형, 필드 또는 메소드
  • 특성:
    - name
    자원의 JNDI 이름을 지정합니다. 필드 이름은 필드 어노테이션을 위한 기본값입니다. 메소드에 해당하는 JavaBeans 특성 이름이 메소드 어노테이션에 대한 기본값입니다. 기본값이 없기 때문에 클래스 어노테이션에 값을 지정해야 합니다(문자열).
    - type
    자원의 Java 유형을 표시합니다. 필드 유형은 필드 어노테이션의 기본값입니다. JavaBeans 특성의 유형은 메소드 어노테이션에 대한 기본값입니다. 기본값이 없기 때문에 클래스 어노테이션에 값을 지정해야 합니다(클래스).
    - mappedName
    이 자원을 맵핑할 이름을 지정합니다(문자열).
    - value
    서비스 클래스 값을 나타내고 javax.xml.ws.Service를 확장하는 유형입니다. 이 속성은 참조 유형이 SEI(Service Endpoint Interface)인 경우에 필수입니다(클래스).
    - wsdlLocation
    웹 서비스를 정의하는 WSDL 문서의 웹 주소. 이 속성은 필수입니다. (문자열).
    - lookup
    대상 웹 서비스의 JNDI 검색 이름을 지정합니다. 이 특성은 JAX-WS 2.2 이상에 적용 가능합니다. (문자열).
javax.xml.ws. WebServiceRefs @WebServiceRefs 어노테이션은 다중 @WebServiceRef 어노테이션을 특정 클래스와 연관시킵니다.
참고: @WebServiceRef 어노테이션은 특정 클래스 유형에서만 지원됩니다. 예제는 JAX-WS 엔드포인트 구현 클래스, JAX-WS 핸들러 클래스, Enterprise JavaBeans 클래스 및 서블릿 클래스입니다. 이 어노테이션은 @Resource 어노테이션과 동일한 클래스 유형에서 지원됩니다. 지원되는 클래스 유형에 대한 전체 목록은 Java EE(Java Platform, Enterprise Edition) 5 스펙을 참조하십시오.
  • 어노테이션 대상: 유형
  • 특성:
    - value
    다중 웹 서비스 참조 선언의 배열을 지정합니다. 이 속성은 필수입니다.
표 3. JAX-WS 공통 어노테이션(JSR 250). 지원되는 JAX-WS 공통 어노테이션 및 연관된 특성에 대해 설명합니다.
어노테이션 클래스 어노테이션 특성
javax.annotation. Resource @Resource 어노테이션이 애플리케이션에서 필요한 WebServiceContext 자원을 표시합니다.
참고:

JavaBeans 엔드포인트 또는 제공자 엔드포인트에 대한 서버 엔드포인트 구현 클래스에서 WebServiceContext 유형 필드에 이 어노테이션을 적용하면 컨테이너가 지정된 필드에 WebServiceContext의 인스턴스를 삽입합니다.

이 어노테이션이 @WebServiceRef 어노테이션 대신 사용되면, @WebServiceRef 어노테이션에 설명된 규칙이 적용됩니다.

  • 어노테이션 대상: 필드 또는 메소드
  • 특성:
    - type
    자원의 Java 유형을 표시합니다. 기본값 java.lang.Object 또는 javax.xml.ws.Web ServiceContext 값을 사용해야 합니다. 유형이 기본값인 경우, 자원을 필드 또는 메소드에 삽입해야 합니다. 이 경우, 메소드에 정의된 JavaBeans 특성의 유형 또는 필드의 유형이 javax.xml.ws.WebServiceContext이어야 합니다(클래스).
    이 어노테이션을 사용하여 웹 서비스를 삽입하는 경우, @WebServiceRef type 속성의 설명을 참조하십시오.
javax.annotation. Resources @Resources 어노테이션이 다중 @Resource 어노테이션을 특정 클래스와 연관시키고 다중 자원 선언에 대한 컨테이너로 제공됩니다.
  • 어노테이션 대상: 필드 또는 메소드
  • 특성:
    - value
    다중 @Resource 어노테이션의 배열을 지정합니다. 이 속성은 필수입니다.
javax.annotation. PostConstruct @PostConstruct 어노테이션은 종속성 삽입이 클래스에서 수행된 후 실행해야 하는 메소드를 표시합니다.

JAX-WS 애플리케이션 핸들러, 서버 엔드포인트 구현 클래스에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
javax.annotation. PreDestroy @PreDestroy 어노테이션은 인스턴스가 컨테이너에 의해 제거되고 있을 때 실행해야 하는 메소드를 표시합니다.

JAX-WS 핸들러 또는 서버 엔드포인트 구현 클래스에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 메소드
표 4. IBM의 어노테이션. 지원되는 IBM®의 어노테이션 및 연관된 특성에 대해 설명합니다.
어노테이션 클래스 어노테이션 특성
com.ibm.websphere. wsaddressing. jaxws21. SubmissionAddressing @SubmissionAddressing 어노테이션은 이 서비스가 2004/08 WS-Addressing 스펙에 대한 WS-Addressing 지원을 사용하려 한다고 지정합니다.

이 어노테이션은 JAX-WS 2.1 스펙에 대한 IBM 구현의 일부입니다.

서버 엔드포인트 구현 클래스에서 메소드에 이 어노테이션을 적용하십시오.

  • 어노테이션 대상: 유형
  • 특성:
    - enabled
    WS-Addressing이 사용 가능한지 여부를 지정합니다. 기본값은 true입니다.(부울)
    - required
    WS-Addressing 헤더가 수신 메시지에 있어야 한다고 지정합니다. 기본값은 false입니다.(부울)

주제 유형을 표시하는 아이콘 참조 주제



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