版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xingfuzhijianxia/article/details/52791732
公司需要对外开放接口,了解了下webservice相关实现,有axis2和cxf,由于接口也不是很多,直接选了cxf集成,以下是集成实现过程。
第一步 下载apache-cxf-2.7.10 jar,选择需要用到的jar,如下图:
第二步 web.xml配置
<span style="white-space:pre"> </span><servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<session-config>
(1)context-cxf.xml (如下图) 并引入到application.xml文件中
(2) META-INF下引入三个文件如图(在cxf.jar解压后可获得)
第四步 Webservice接口,注意添加 @WebService
第五步接口实现
第六步 重启服务
http://localhost:端口/项目名称/services/ImanageUserService?wsdl
第七步 发布测试
(1)创建客户端工程,例如 cxfclient
(2) 根据上面第六步的发布地址通过cxf生成客户端代码
(3) 将生成的代码放在客户端工程中,在生成的代码中的 XXService_XXImplPort_Client.java中修改测试参数,进行测试。
IManageUserService_Service ss = new IManageUserService_Service(wsdlURL, SERVICE_NAME);
IManageUserService port = ss.getManageUserServiceImplPort();
{
System.out.println("Invoking modify...");
com.zt.client.ManageUser u = new ManageUser();
u.setName("张三");
u.setUserName("zhangsan");
u.setPassword("123456");
java.lang.String _modify__return = port.modify(u);
System.out.println("modify.result=" + _modify__return);
}
输出结果如下:Invoking modify...
modify.result={"retCode":"000000","success":true,"retMessage":"修改用户信息成功!"}