2011年4月23日 星期六

[Web Service]-利用Eclipse及CXF2開發Web Service

準備工具
Eclipse IDE for Java EE Developer-目前版本Helios SR2
Tomcat-目前版本-7.0.12
Apache CXF2-目前版本2.4.0

開發環境配置
1.將下載的Eclipse、Tomcat及CXF2 zip檔解壓縮
2.執行Eclipse,點選Windows->Preferences->Web Services->CXF  2.x Preferences
   將CXF Runtime指向解壓縮後的CXFf2目錄,另外在Java2WS及WSDL2Java的tag中,
   也有一些屬性值可以加以設定,比如在Java2WS中我們就能設定是否要自動產生WSDL檔
3.在下方工作區點選Server tag,並在空白處按右鍵New->Server
    在這裡我們選擇Server類型-Apache Tomcat 7.0
按下一步,將目錄位置指向剛剛所解壓縮的Tomcat 7.0.12
按下確認後即可在Server區看到剛剛所新增的Tomcat Server


開發Web Service-Server端
1.新增一個Dynamic Web Project
2.新增一個EchoTest類別,裡面實作一個echo operation
3.在EchoTest類別上按右鍵選擇Web Service->Create Web Service
   在跳出的視窗中,Web Service Type這裡要選擇Button up,
   (Top down是指由WSDL來建立Web Service)
   另外Web service runtime這裡要選擇Apache CXF 2.x
按下確認後就會利用CXF套件幫我們產出Web Service的相關檔案了,連WSDL檔也一併產生
另外若當初有佈署Runtime Server的話,產生Web Service的同時也會將此Web Service佈署在此server中,如下圖在Tomcat Server下可以看到我們剛剛所產生的Web Service,按下server執行鈕即可運行該服務

開發Web Service-Client端
1.新增一個Java Project
2.在src按右鍵New->Other,在Web Services類別選擇Web Service Client
在跳出的視窗中點選Brower,在跳出視窗的上方URI欄位中輸入
http://localhost:8080/WSService/services/EchoTestPort?wsdl
這裡的WSDL位址在剛剛建立Web Service自動產出的WSDL文件中可以找到
按下確認後套件會自動找尋這份WSDL文件(注意:這裡Web Service所在的server必須啟動)
按下確認後回到前一個視窗,這裡的Web server runtime採用預設的Apache Axis就好
按下確認,套件會為我們自動產生Web Service Client的相關類別
3.我們新增一個EchoDemo類別來實際使用套件為我們產生的Web Service Client相關類別
4.直接執行,在client端就會利用套件為我們產生的Web Service Client相關類別來連接我們佈署在Tomcat Server上的Web Service,並帶回執行結果