Mise en place d'un client SOAP
De nos jours, beaucoup de solutions permettent de générer le client SOAP à partir d'un WSDL. Le but étant de cacher la complexité de travailler avec des services web basés sur XML pour le programmeur.
1) Création partie centrale
2) Création et envoi de la requête
En utilisant le proxy créé dans le .jar client.
HelloWorldProxy proxy = new HelloWorldProxy() ;
proxy.useJNDI(true) ;
proxy.setEndpoint("http://localhost:9080/testWSSrv/services/HelloWorld") ;
System.out.println(proxy.print("Salut jean-no !")) ;
Au lieu d'envoyer simplement la requête vers une URL (comme c'est le cas ici avec WS), un point final de référence est construit (endpoint reference). Cet objet fait partie de la norme WS-Adressing. Outre l'Url de destination, il peut contenir d'autres informations comme une adresse de réponse (reply-to adress) ou d'autres propriétés de ressources.
En cas d'utilisation de JNDI, le proxy tente de retrouver le service via JNDI
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
helloWorld = ((test.ws.HelloWorldService) ctx.lookup("java:comp/env/service/Hel
loWorldService")).getHelloWorld();
Si la recherche JNDI a été infructueuse, le proxy utilise la classe HelloWorldServiceLocator pour retrouver le service.
private final String helloWorld_address = "http://localhost:9080/testWSSrv/
services/HelloWorld";