在上文中,使用Java6做了一个最简单的WebService服务的实现,并通过Java6API发布了该服务。
在本文中,将看到如何使用Java6来做一个WebService服务,并如何使用Java6提供的开发工具来生成客户端代码,并调用服务。
1.服务端代码
package java_soa.test1.server; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class Java6WebService { /** * Java6开发WebService测试 * wangzp 2014-10-17 */ public String doSomething(String name){ String str1= "恭喜"+name+",java6 WebService 调试发布通过了!"; return str1; } /** * @param args */ public static void main(String[] args) { //发布地址 Endpoint.publish("http://192.168.8.121:8091/java6ws/java_soa.server.Java6WebService", new Java6WebService()); } }
2. 发布后,根据wsdl地址生成客户端代码
Java6提供生成WebService客户端代码工具,注意,在生成前需要先启动服务端,用法如下图:
生成客户端命令: wsimport -p addr -keep url ( addr:客户端代码生成路径,url: wsdl路径地址)
wsimport 位置java/bin目录下
执行命令下生成客户端代码目录:
3. 调用接口
package java_soa.test1.getClient; import java_soa.test1.wsclient.Java6WebService; import java_soa.test1.wsclient.Java6WebServiceService; public class Java_getPersonName { /** * Java7 WS生成的客户端代码 * @ wangzp 2014-10-18 */ public static void main(String[] args) { //创建一个客户端服务对象 Java6WebService java6WS = new Java6WebServiceService().getJava6WebServicePort(); //调用服务方法(doSomething),并得到方法返回值 String str = java6WS.doSomething("简单方法调用"); System.out.println(str); } }
服务方法正确调用,测试成功