When invoking the remote methods on the port, the client performs these steps:
Uses the generated helloservice.endpoint.HelloService class, which represents the service at the URI of the deployed service’s WSDL file:
import helloservice.endpoint.HelloService; import javax.xml.ws.WebServiceRef; public class HelloAppClient { @WebServiceRef(wsdlLocation = "META-INF/wsdl/localhost_8080/helloservice/HelloService.wsdl") private static HelloService service;
Retrieves a proxy to the service, also known as a port, by invoking getHelloPort on the service:
helloservice.endpoint.Hello port = service.getHelloPort();
The port implements the SEI defined by the service.
Invokes the port’s sayHello method, passing a string to the service:
return port.sayHello(arg0);
Here is the full source of HelloAppClient, which is located in the following directory:
tut-install/examples/jaxws/appclient/src/appclient/ |
package appclient; import helloservice.endpoint.HelloService; import javax.xml.ws.WebServiceRef; public class HelloAppClient { @WebServiceRef(wsdlLocation = "META-INF/wsdl/localhost_8080/helloservice/HelloService.wsdl") private static HelloService service; /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println(sayHello("world")); } private static String sayHello(java.lang.String arg0) { helloservice.endpoint.Hello port = service.getHelloPort(); return port.sayHello(arg0); } }