Pergunta

Eu implantou uma JAX-WS Serviço e uso wsimport para gerar o código do cliente. Porque eu corro wsimport em localhost, eu tenho o código do cliente com binind em "localhost".

Mas eu quero reutilizar os código de cliente em outros computadores que acessam o meu serviço implantado com um y.y.y.y. IP público Como dinamicamente pode usar os código de cliente (uma vez) gerado para acessar o meu serviço. (O IP do serviço pode mudar ...)

Foi útil?

Solução

Este é coberto no FAQ de JAX-WS:

Q. Como posso alterar o endereço Web Service dinamicamente para um pedido?

((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "..."); 

Outras dicas

Claro. Dê uma olhada na JBoss exemplo . Aqui está o trecho de código relevante:

BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://your.wsdl.location");

Normalmente, o WSDL é gerado e therfore O profissional insere WS os URLs relevantes para o WSDL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top