Je crée un client webservice en utilisant Metro avec JAX-ws et je veux remplacer l'adresse de point de terminaison.Metro avec point de terminaison de priorité JAX-ws adresse
En utilisant l'exemple suivant de 2.11.1. BindingProvider.ENDPOINT_ADDRESS_PROPERTY Je peux le faire: http://metro.java.net/guide/How_to_invoke_and_endpoint_by_overriding_endpoint_address_in_the_WSDL.html
//Create service and proxy from the generated Service class.
HelloService service = new HelloService();
HelloPort proxy = service.getHelloPort();
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://new/endpointaddress");
proxy.sayHello("Hello World!");
Mais je ne comprends pas pourquoi je ne peux pas utiliser le service.getHelloPort() sayHello ("Bonjour tout le monde!") au lieu de . proxy.sayHello ("Bonjour tout le monde!") comme le montre l'exemple. Si c'est le cas, le client webservice utilise son adresse de point de terminaison par défaut à la place de celle que je souhaite utiliser.
On dirait que je reçois une nouvelle instance de HelloPort chaque fois que j'appelle getHelloPort()
Quelqu'un peut-il expliquer cela?
Quel est votre code? Comment remplacez-vous l'adresse de point de terminaison? – Osw
mis à jour avec un exemple de code. J'ai aussi eu quelques indications ailleurs. System.out.println (service.getHelloPort() == service.getHelloPort()) affiche false, il semble donc que je reçois une nouvelle instance pour chaque appel getHelloPort() – Gotcha