在上文中,使用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);
}
}
服务方法正确调用,测试成功