標籤:des style blog class code java
前言
部落格草稿中“SOA生態系統初探”一文一直沒有進展,感覺要將SOA、Web Service(WS)、REST等概念闡述清楚還需要一些醞釀。
頂天須得立地,這裡記錄一些“下裡巴人”的實踐,主要考察Apache Axis2和Apache CXF兩個Java服務開發架構,首先從CXF著手。
目錄
1 工具
2 Eclipse中Apache CXF配置
3 運行執行個體
4 參考資料
內容
1 工具
Windows 7
Eclipse Juno(4.2.0, JEE version, build-id: 20120614-1722)
Apache CXF 2.4.2(較新版本2.7.11在配置過程中莫名其妙的出現一些錯誤,回退到較低版本),將CXF解壓目錄記為CXF_HOME
Apache Tomcat 7.0
2 Eclipse中Apache CXF配置
Window->Preferences->Web Services->CXF 2.x Preferences->CXF Runtime中添加運行時,指定CXF解壓目錄即可
3 運行執行個體
預期目標:自底向上(bottom-up)建立WS,將WS部署到Servlet容器中,觀察服務的WSDL、通過瀏覽器調用WS介面。
建立Dynamic Web Project項目
項目結構(添加index.html)
預期的Project Facets
Before
After
編寫服務實作類別
package com.spike.cxf;import javax.jws.WebService;/** * Description: HelloService Implementation<br/> * Date: 2014-5-11 下午7:59:33 */@WebService(targetNamespace = "http://cxf.spike.com/", portName = "HelloServiceImplPort", serviceName = "HelloServiceImplService")public class HelloServiceImpl { public String getVersion() { return "1.0"; } public String greeting(String user) { return "Hello " + user + "!"; }}
基於Dynamic Web Project添加CXF Facets:右鍵服務實作類別,Generate Web Service
配置WS類型
服務端點介面(SEI)選擇或建立,這裡預設
選擇服務方法註解,這裡預設
CXF Java2WS配置,這裡預設
啟動服務(實際是Servlet容器)等待
服務發布方式設定,這裡預設
點擊Finish後項目結構
Package Explorer
Project Explorer
Servlet容器的“配置”,連接埠選用了8082
訪問服務http://localhost:8082/CXF/services
點擊WSDL連結http://localhost:8082/CXF/HelloServiceImplPort?wsdl
調用服務介面方法
(1)http://localhost:8082/CXF/services/HelloServiceImplPort/getVersion
(2)http://localhost:8082/CXF/services/HelloServiceImplPort/greeting?arg0=zhoujiagen
4 參考資料
[1] JAX-WS with Apache CXF and Eclipse [step1] http://angelozerr.wordpress.com/2011/08/23/jaxwscxf_step1/
[2] JAX-WS with Apache CXF and Eclipse [step2] http://angelozerr.wordpress.com/2011/08/24/jaxwscxf_step2/