웹 서비스 주소 지정(WS-Addressing) 지원에서는
웹 서비스 주소를 지정하는 메커니즘을 제공하고 메시지에서 주소 지정 정보를
제공합니다. WS-Addressing 지원은 기본적으로 클라이언트에서 사용되지 않습니다.
서버에서 WS-Addressing 지원을 사용하지 않는 방법은 애플리케이션이
JAX-RPC에 기반하는지, 아니면 JAX-WS에 기반하는지에 따라 달라집니다.
이 태스크 정보
애플리케이션에 필요하지 않아도 WS-Addressing 지원을 사용 불가능하게 설정할 필요는
없습니다. 대부분의 경우 WS-Addressing 지원은 애플리케이션 실행에 부정적인 영향을 주지
않기 때문입니다.
JAX-RPC 애플리케이션의 경우 WS-Addressing 지원을 사용하지 않으면
이 조치로 웹 서비스 원자 트랜잭션과 같은 다른 스펙에 대한 지원을 사용하지 않기 때문에
위험할 수 있습니다.
프로시저
- 다음 방법 중 하나를 사용하여 JAX-WS 서비스 제공자에 대한 WS-Addressing 지원을 사용 안함으로
설정하십시오.
- 서비스 코드에서 enabled
매개변수가 false로
설정된
Addressing 및
SubmissionAddressing 어노테이션 모두를
사용하십시오. 예를 들어, 다음과 같습니다.
import javax.xml.ws.soap.Addressing;
@Addressing(enabled=false)
@SubmissionAddressing(enabled=false)
@WebService(...)
- 서비스 애플리케이션의 배치 디스크립터에 있는
<webservice-description>/<port-component>/<addressing>
배치 디스크립터 요소를 사용하십시오. 예를 들어, 다음과 같습니다.
<port-component>
<port-component-name>MyPort1</port-component-name>
<addressing>
<enabled>false</enabled>
</addressing>
<service-impl-bean>
<servlet-link>MyPort1ImplBean</servlet-link>
</service-impl-bean>
</port-component>
- JAX-WS 클라이언트에 대한 WS-Addressing 지원을 사용하지 않도록 하기 위해
조치를 수행하지 않아도 됩니다. WS-Addressing 지원은 기본적으로 사용되지 않기 때문입니다.
그러나 다음 방법 중 하나를 사용하여 WS-Addressing을 사용하지 않도록 프로그래밍 방식으로
지정할 수 있습니다.
- 클라이언트 코드에서
enabled
매개변수가 false로
설정된
AddressingFeature 및
SubmissionAddressingFeature 클래스 모두를
사용하십시오. 예를 들어, 다음과 같습니다.
AddressingFeature feat = new AddressingFeature(false);
SubmissionAddressingFeature feat = new AddressingFeature(false);
- 삽입된 웹 서비스 프록시 참조에 대해
Addressing 어노테이션을 사용하십시오. 예를 들어, 다음과
같습니다.
public class MyClientApplication {
// Disable Addressing for a port-component-ref resource injection.
@Addressing(enabled=false)
@WebServiceRef(MyService.class)
private MyPortType myPort;
...
}
- <service>/<port-component>/<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>false</enabled>
</addressing>
</port-component-ref>
</service-ref>
- JAX-RPC 서비스 제공자 또는 클라이언트에 대한
WS-Addressing 지원을 사용하지 않도록 하려면
com.ibm.ws.wsaddressingAndDependentsDisabled
시스템 특성을 true로
설정하십시오. 예를 들어 다음과 같습니다.
java -Dcom.ibm.ws.wsaddressingAndDependentsDisabled=true ... application_name
주의: 애플리케이션에서는 WS-Addressing 메시지 주소 지정 특성이 올바르게
작동해야 하므로 이 특성은 신중하게 사용하십시오. 또한 이 특성을 설정하면
WS-Addressing 지원에 종속된
다음 스펙에 대한 지원도 사용하지 않습니다. 이때 스펙은
웹 서비스 원자 트랜잭션, 웹 서비스 비즈니스 계약, 웹 서비스 알림,
WS-Reliable Messaging을 포함합니다.
결과
이 태스크를 완료하면 WS-Addressing 지원을 사용하지 않습니다.
클라이언트에서 WS-Addressing을 사용하지 않으면
WebSphere® Application Server가
아웃바운드 웹 서비스 메시지의 SOAP 헤더에서 WS-Addressing 메시지 주소
지정 특성을 전송하지 못합니다. 또한 서버에서 WS-Addressing을 사용하지 않으면
WebSphere Application Server가
수신 SOAP 헤더에서 WS-Addressing MAP을 처리하지 못합니다.