截图中包含一个服务器和一个客户端。
服务器端
HelloWS.java接口
/**
* SEI
*
*/
@WebService
public interface HelloWS {
@WebMethod
public String sayHello(String name);
}
HelloWSImpl.java实现HelloWS.java接口
@WebService
public class HelloWSImpl implements HelloWS{
@Override
public String sayHello(String name) {
System.out.println("Server says hello to " + name);
return "Hello " + name;
}
}
ServerTest发布服务
/**
* 发布Webservice
*
*/
public class ServerTest {
public static void main(String[] args) {
String address = "http://192.168.13.232:8989/ws_01/umgsai";
Endpoint.publish(address, new HelloWSImpl());
System.out.println("发布成功");
}
}
客户端
①使用JDK自带的wsimport工具根据网络url来生成客户端代码
在cmd中进入到目标目录,例子中是client项目中的src目录,执行
wsimport -keep http://192.168.13.232:8989/ws_01/umgsai?wsdl
执行完后会在src中生成一下目录和文件
②使用JDK自带的wsimport工具根据wsdl文件来生成客户端代码
在浏览器中打开
http://192.168.13.232:8989/ws_01/umgsai?wsdl
然后将代码保存为umgsai.wsdl文件。将文件中的8989端口改成8080
然后在Eclipse中配置一个端口转发
在cmd中进入到目标目录,例子中是client项目中的src目录,执行
wsimport -keep E:\umgsai\workspace\WS_Client\src\umgsai.wsdl
执行完后会在src中生成一下目录和文件
客户端调用
然后在ClientTest.java中调用Server端的函数
public class ClientTest {
public static void main(String[] args) {
HelloWSImplService factory = new HelloWSImplService();
HelloWSImpl helloWS = factory.getHelloWSImplPort();
System.out.println(helloWS.getClass());
String result = helloWS.sayHello("Tom");
System.out.println(result);
}
}
本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1562143