JAX-WS 애플리케이션의 경우 해당 애플리케이션에 대한 배치 디스크립터를 편집하여
서비스 또는 클라이언트 애플리케이션의 패키지 중 WS-Addressing 지원을 사용할 수
있습니다.
이 태스크 정보
배치 디스크립터를 사용하여 WS-Addressing 동작을 수정하려면
애플리케이션에 대한 배치 디스크립터 파일에 <addressing>
요소를 추가합니다. <addressing>
요소에는 다음 표에서 설명한 대로, 선택적 하위 요소가 있습니다.
<addressing>
요소는 주소 지정 어노테이션과 동일한 방식으로 작동합니다. <addressing>
어노테이션의 하위 요소는 주소 지정 어노테이션의 매개변수와 동일한 방식으로 작동합니다.
표 1. addressing
배치 디스크립터 요소의 하위 요소. 표에서는 서로 다른 하위 요소와 함께 가능한 값과 각각에 대한 설명을 나열합니다. 요소 이름 |
가능한 값 |
설명 |
enabled |
true(기본값) false
|
WS-Addressing 지원이 사용 가능한지 여부. |
required |
true
false(기본값)
|
WS-Addressing 헤더가 필요한지 여부. |
responses |
All(기본값)
ANONYMOUS
NON_ANONYMOUS
|
동기 또는 비동기 메시지 교환 패턴을 사용하는지 여부.
동기 메시지 패턴에서 메시지를 전송하려면 ANONYMOUS를
지정합니다. 비동기 메시지 교환 패턴에서 메시지를 전송하려면
NON_ANONYMOUS를 사용합니다. |
프로시저
- 서비스 애플리케이션에서 WS-Addressing 지원의 동작을 수정하려면
필요에 따라 <addressing> 요소 및 선택적 하위 요소를
<webservice-description> 요소 내 <port-component-ref>
요소 아래에 있는 서비스 배치 디스크립터에 추가하십시오. 다음 예제에서 주소 지정 배치 디스크립터 단편은
WS-Addressing의 사용 여부와 필수인지 여부, 그리고 비동기 메시지 교환 패턴이 사용됨을
지정합니다.
<port-component>
<port-component-name>MyPort1</port-component-name>
<addressing>
<enabled>true</enabled>
<required>true</required>
<responses>NON_ANONYMOUS</responses>
</addressing>
<service-impl-bean>
<servlet-link>MyPort1ImplBean</servlet-link>
</service-impl-bean>
</port-component>
- 클라이언트 애플리케이션에서 WS-Addressing 지원의 동작을 수정하려면
필요에 따라 <addressing> 요소 및 선택적 하위 요소를
<service-ref> 요소 내 <port-component-ref>
요소 아래에 있는 클라이언트 배치 디스크립터에 추가하십시오. 예를 들어, 다음 배치 디스크립터 단편은 WS-Addressing이 사용 가능함을 표시합니다.
<service-ref>
<service-ref-name>service/MyPortComponentRef</service-ref-name>
<service-interface>com.example.MyService</service-ref-interface>
<port-component-ref>
<service-endpoint-interface>com.example.MyPortType</service-endpoint-interface>
<addressing>
<enabled>true</enabled>
</addressing>
</port-component-ref>
</service-ref>
결과
이제 WS-Addressing 특성은 SOAP 메시지
헤더에 포함되고, 메시지를 수신할 때 서버에서 처리됩니다.