一、环境
JDK1.6以上
二、service端编写
1. New -> Java Project, 名称为java6wsServer
2. 编写服务代码,如下:
package calvin.ws;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class MyJava6WS {
public String doSomething(String thing) {
return "这是基于Java6的WebService thing:" + thing;
}
public static void main(String[] args) {
String url="http://localhost:80/service/MyJava6WS";
Endpoint.publish(url,new MyJava6WS());
}
}
3. 运行服务
运行MyJava6WS的main方法即可
4. 查看WSDL
在浏览器中输入 http://localhost:80/service/MyJava6WS?wsdl
三、生成java客户端代码
1. New -> Java Project, 名称为java6wsClient
2. cmd进入到java6wsClient/src目录,
3. 执行命令 wsimport -keep -p calvin.ws.client http://localhost:80/service/MyJava6WS?wsdl,生成客户端代码
参数说明:
-d:生成客户端执行类的class文件的存储目录
-s:生成客户端执行类的源文件的存储目录
-p:定义生成类的包名
生成客户端代码目录如下:
四、客户端调用服务
1. 代码编写
package calvin.ws.demo;
import calvin.ws.client.MyJava6WS;
import calvin.ws.client.MyJava6WSService;
public class MyJava6wsDemo {
public static void main(String[] args) {
MyJava6WS mj6ws = new MyJava6WSService().getMyJava6WSPort();
System.out.println(mj6ws.doSomething("test"));
}
}
2. 查看运行结果