实现
搭建服务端
打开Eclipse新建 Java project,在src下新建包com.badao.ws
包下新建接口HellloWS.java
package com.badao.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
/***
* SEI
* @author: badao
* @Description:
* @Time:2019年5月6日 上午8:48:10
*/
@WebService
public interface HelloWS {
@WebMethod
public String sayHello(String name);
}
注:
SEI以及SEI的实现类要加注解@WebService
SEI中的所有方法要加注解 @WebMethod
新建接口实现HelloWSImpl.java
package com.badao.ws;
import javax.jws.WebService;
@WebService
public class HelloWSImpl implements HelloWS {
public String sayHello(String name) {
System.out.println("服务端接受到信息为:"+name);
return "Hello"+name;
}
}
发布Web Service
包下新建类ServerTest.java
package com.badao.ws;
import javax.xml.ws.Endpoint;
/***
* 发布Webservice
* @author: badao
* @Description:
* @Time:2019年5月6日 上午8:52:35
*/
public class ServerTest {
public static void main(String[] args) {
String address = "http://127.0.0.1:9999/JDKTest/hellows";
Endpoint.publish(address, new HelloWSImpl());
System.out.println("发布webservice成功");
}
}
注:
使用Endpoint的publish方法发布Webservice,其中address是对外开放的address
中间是IP加端口号,后面路径随意,一般是项目名加方法名。
运行main方法启动服务端。
启动成功后,打开浏览器输入:
http://127.0.0.1:9999/JDKTest/hellows?wsdl
搭建客户端
新建java project
这里使用JDK自带的wsimport来根据wsdl生成实体类代码。
wsimport.exe的位置在JDK安装目录下的bin下
打开cmd,输入wsimport验证是否已经配置进环境变量。
来到客户端项目的真实目录下的src目录下,在此处打开命令行。
输入:
wsimport -keep http://127.0.0.1:9999/JDKTest/hellows?wsdl
运行结果
此时来到Eclipse下刷新下客户端项目。
测试客户端请求
在项目下新建ClientTest.java
package com.badao.ws.client;
import com.badao.ws.HelloWSImpl;
import com.badao.ws.HelloWSImplService;
/***
* 调用webservice
* @author: badao
* @Description:
* @Time:2019年5月6日 上午10:51:07
*/
public class ClientTest {
public static void main(String[] args) {
HelloWSImplService factory = new HelloWSImplService();
HelloWSImpl helloWSImpl = factory.getHelloWSImplPort();
String result = helloWSImpl.sayHello("霸道");
System.out.println("webservice返回的结果为:"+result);
}
}
运行结果
运行客户端的main方法
客户端效果:
然后查看服务端效果: