Domanda

ho schierato un JAX-WS servizio e l'uso wsimport per generare il codice client. Perché corro wsimport su localhost, ho ottenuto il codice cliente con binind su indirizzo "localhost".

Ma voglio riutilizzare quelli codice client su altri computer che accedono mio servizio implementato con un y.y.y.y. IP pubblico Come si può utilizzare dinamicamente quelli codice del client (una volta) generato per accedere al mio servizio. (L'IP del servizio può cambiare ...)

È stato utile?

Soluzione

Questo è trattato nel FAQ di JAX-WS:

  

D. Come posso modificare l'indirizzo del servizio Web in modo dinamico per una richiesta?

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

Altri suggerimenti

Certo. Date un'occhiata alla JBoss esempio . Ecco il frammento di codice relativo:

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

Di solito il WSDL viene generato e therfore il provider WS inserisce gli URL rilevanti nel WSDL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top