1. 程式人生 > >CXF整合Spring提供Webservice介面服務

CXF整合Spring提供Webservice介面服務

公司需要對外開放介面,瞭解了下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>


第三步 spring相關配置

(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":"修改使用者資訊成功!"}


大體步驟就是這些,有需要的可以試著自己做一下。