最近工作中遇到了涉及WebService接口开发。
客户只提供了一个 WSDL地址或文件,说按照这个WSDL写一个服务端接口,就可以接收他们触发器推送的消息,以下为操作步骤:
1.根据WSDL文件生成客户端代码
wsimport -s ./ -p com.hanvon.iface.web.ws.wsimport http://localhost:8080/ws/attendService?wsdl
-s ./ 代表 生成的代理类放在当前目录;
-p com.hanvon.iface.web.ws.wsimport 是生成的代理类所存放的包路径,根据你的项目的包路径自己定义,因为这些类后来是要放到项目中的
2.执行成功之后,我们就可以得到调用该接口的客户端代码。如果我们要改接口的服务端代码,需要自行添加接口实现类。
3.接口发布后,如果调用报错:# [org.apache.cxf.interceptor.Fault: The given SOAPAction does not match an operation]
则需要在接口类中的 @WebMethod 注解完善一下,如:
@WebMethod(action = "http://xxxxxxx/basicInvoke")
namespace + 具体接口方法名
6.png
网友评论