本文记录个人学习过程,利用JDK自带的方法发布和调用Webservice接口服务,没有引用任何第三方库
服务端
1. 接口服务类
package server.intf;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
* @author qiuchangjin
* @version 2020-12-09
* @description 接口服务类
*/
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface IMyServer {
@WebMethod
String showParams(String parm);
}
2. 接口服务实现类
package server.intf.impl;
import server.intf.IMyServer;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
* @author qiuchangjin
* @version 2020-12-09
* @description 接口服务实现类
*/
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class MyServerImpl implements IMyServer {
@Override
public String showParams(String parm) {
return "传入参数是:" + parm;
}
}
3. 发布服务类
package server;
import server.intf.impl.MyServerImpl;
import javax.xml.ws.Endpoint;
/**
1. @author qiuchangjin
2. @version 2020-12-09
3. @description 发布接口服务
*/
public class PublishServer {
public static void main(String[] args) {
Endpoint.publish("http://10.2.113.225:55555/mlgb.do", new MyServerImpl());
System.out.println("服务发布成功!");
}
}
客户端、调用端
1. 生成客户端代码
新建项目用于调用服务,进入项目工程src目录下,在上面路径处输入cmd打开dos窗口并输入生成客户端代码的指令,这个指令是JDK自带的。ide中刷新项目就能看到刚才生成的代码。
wsimport -keep http://10.2.113.225:55555/mlgb.do?wsdl
2. 客户端调用服务
新建调用接口服务类,可通过2种方式调用
3. 使用SoapUI、Postman调用服务
SoapUI会根据路径自动读取参数,只需要填写参数值即可,输入xml格式的参数时加上
<![CDATA[ 这里需要传的xml ]]>
使用Postman时使用POST请求方式,headers中设置Content-Type=text/xml,Body中选择raw,body参数就是上面的xml,可以自己拼写,所以建议直接使用SoapUI。普通参数格式与SoapUI一样,下面使用Postman演示发送xml格式的参数