CXF整合Spring提供Webservice介面服務
阿新 • • 發佈:2019-01-05
公司需要對外開放介面,瞭解了下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":"修改使用者資訊成功!"}