14.5. Référence de développement JAX-WS
14.5.1. Activation de WS-Addressing (Web Services Addressing) Copier lienLien copié sur presse-papiers!
Conditions préalables
- Votre application doit posséder un service JAX-WS et une configuration client.
Procédure 14.1. Annoter et mettre à jour le code client
Annoter le point de terminaison du service
Ajouter l'annotation@Addressingau code du point de terminaison de l'application.Exemple 14.28. annotation
@AddressingCet exemple montre un point de terminaison normal avec l'ajout de l'annotation@Addressing.package org.jboss.test.ws.jaxws.samples.wsa; import javax.jws.WebService; import javax.xml.ws.soap.Addressing; @WebService ( portName = "AddressingServicePort", serviceName = "AddressingService", wsdlLocation = "WEB-INF/wsdl/AddressingService.wsdl", targetNamespace = "http://www.jboss.org/jbossws/ws-extensions/wsaddressing", endpointInterface = "org.jboss.test.ws.jaxws.samples.wsa.ServiceIface" ) @Addressing(enabled=true, required=true) public class ServiceImpl implements ServiceIface { public String sayHello() { return "Hello World!"; } }Mise à jour du code client
Mettez à jour le code client dans l'application pour configurer WS-Addressing.Exemple 14.29. La configuration client pour WS-Addressing
Cet exemple montre un client JAX-WS mis à jour pour configurer WS-Addressing.package org.jboss.test.ws.jaxws.samples.wsa; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; import javax.xml.ws.soap.AddressingFeature; public final class AddressingTestCase { private final String serviceURL = "http://localhost:8080/jaxws-samples-wsa/AddressingService"; public static void main(String[] args) throws Exception { // construct proxy QName serviceName = new QName("http://www.jboss.org/jbossws/ws-extensions/wsaddressing", "AddressingService"); URL wsdlURL = new URL(serviceURL + "?wsdl"); Service service = Service.create(wsdlURL, serviceName); ServiceIface proxy = (ServiceIface)service.getPort(ServiceIface.class, new AddressingFeature()); // invoke method proxy.sayHello(); } }
Le client et le point de terminaison communiquent maintenant avec WS-Addressing.