第一种:
?? //要求服务端使用Java语言开发,同时客户端需要服务的接口。
??String seriveLocation = "http://localhost:81/webservice01/services/HelloWorld";
??ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
??Service service = serviceFactory.create(IHelloWorld.class);
??XFireProxyFactory proxyFactory = new XFireProxyFactory();
??try {
???IHelloWorld helloWorld=(IHelloWorld) proxyFactory.create(service,seriveLocation);
???String msg = helloWorld.sayHi("JN0909");
???System.out.println(msg);
??} catch (MalformedURLException e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
?
第二种:
//对服务端没有要求。但是在处理复杂数据类型时,客户端处理非常麻烦。
??//因此适用参数和返回值是简单数据类型的服务
??String wsdlLocation="http://localhost:81/webservice01/services/HelloWorld?wsdl";
??try {
???Client client = new Client(new URL(wsdlLocation));
???Object[] results=client.invoke("sayHi",new Object[]{"JN0909 client 2"});
???System.out.println(results.length);
???System.out.println(results[0]);
??} catch (MalformedURLException e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??} catch (Exception e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
?
第三种:
需要创建一个WebServices工程,之后再创建一个webservices的客户端,客户端的相关类都会自动生成。