"휴대용"JAX-WS 클라이언트
문제
JAX-WS 서비스를 배포하고 WSimport를 사용하여 클라이언트 코드를 생성합니다. LocalHost에서 WSimport를 실행하기 때문에 "LocalHost"주소에서 Binind와 함께 클라이언트 코드를 얻었습니다.
그러나 공개 IP YYYY로 배포 된 서비스에 액세스하는 다른 컴퓨터에서 해당 클라이언트 코드를 재사용하고 싶습니다. (서비스의 IP가 변경 될 수 있습니다 ...)
해결책
이것은 자주하는 질문 Jax-Ws의 :
Q. 요청을 위해 웹 서비스 주소를 동적으로 변경하려면 어떻게해야합니까?
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "...");
다른 팁
확신하는. 살펴보십시오 Jboss 예제. 관련 코드 스 니펫은 다음과 같습니다.
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://your.wsdl.location");
일반적으로 WSDL이 생성되며 WS 제공 업체는 관련 URL을 WSDL에 삽입합니다.
제휴하지 않습니다 StackOverflow