xfire:xFire WebService學習筆記

來源:互聯網
上載者:User
參考MyEclipse官方文檔:http://www.myeclipseide.com/index.php?module=htmlpages&func=display&pid=281
XFire Java SOAP架構概述
MyEclipse Web Services是建立在XFire Java SOAP架構和工具基礎上的, XFire是一款開源的Java SOAP架構。它擁有一個輕量級的資訊處理模組,通過STAX來與SOAP資訊相結合。提供了一個工作在Web Services下的簡單API,支援POJO和schema開發. XFire支援 Web Services standards,Spring 整合, 支援JBI , 支援 JAXB ,XMLBeans,Java 5 和JAX-WS.並支援HTTP, JMS, XMPP, In-memory傳輸協議.
一. 建立Web Service工程
在MyEclipse 5.0中引入了一個新的工程類型即Web Service工程,該工程擴充了MyEclipse Web Project來支援額外的Web Service配置,開發和部署.本部分將使用Web Services Project wizard來建立和配置一個新的Web Service Projects Web Service Wizard將完成下列的動作:
建立MyEclipse J2EE Web Project
在工程中的web.xml檔案中配置XFire Servlet
建立XFire services.xml設定檔
在工程中的構建路徑中添加MyEclipse-XFire類庫
添加一個指定的MyEclipse web project builder到.projects檔案,以便部署services.xml檔案到它合適的位置.如: <webroot>/WEB-INF/classes/META-INF/xfire/
運行Web Service Project Wizard
該嚮導包括三個頁面, Page-1搜集Web Project配置細節, Page-2搜集XFire配置細節, Page-3在建立的構建路徑中配置XFire類庫
1. 執行Web Services Project Wizard.
1). 選擇File>New>Other
2). 擴充MyEclipse種類按照J2EE工程的種類
3). 選擇Web Services Project然後點擊Next,


Figure-1: New Project Wizard Launcher
2. 添加Project Name,點擊Next


Figure-2: Page-2, Collecting web configuration details
3.在嚮導的Page-2中添加XFire servlet和service.xml檔案的配置資訊,按照預設的值即可.


Figure-3: XFire servlet and services.xml configuration
4.在嚮導的Page-3中選擇類庫添加到工程的構建路徑中,其中XFire Core Library是需要的,如果要在工程中開發一個用戶端應用, XFire HTTP Client Libraries也是需要的.


Figure-4: Selecting XFire libraries to add to new web service project buildpath
5選擇Finish完成Web Service工程的建立過程
Figure-5,顯示了新建立的HelloWorld Web Service工程的組織圖,Web Service 工程和一個標準的MyEclipse Web工程很相似. XFire Web Service配置元素紅色地區顯示:


Figure-5: Web services artifacts of a new web service project
二. 建立Web Service-Code-first Strategy
在這部分將用MyEclipse Web Service Wizard並通過使用Code-first Strategy來建立一個HelloWorldService樣本.
1. 執行MyEclipse Web Service Wizard,有兩種方法來執行MyEclipse Web Service Wizard
方法1.從MyEclipse perspective toolbar中來執行嚮導
在開啟的Web Service Wizard上的workbench上來選擇新Web Service按鈕
方法2.從workbench menubar執行嚮導
1. 從workbench menubar選擇: File>New>Other>MyEclipse>Web Service


Figure-6: Launching Web Service Wizard
2. 在Page-1選擇HelloWorld 工程並選擇Create web service from Java bean
3. 選擇Next到Page-2


Figure-7: Page-1 of new web service wizard
4. 填寫Web Service的名字HelloWorldService
5. 選擇Java Source folder或者選擇New按鈕來建立一個source folder
6. 填寫Java package或者通過選擇Browse按鈕來選擇一個已經存在的package.也可以選擇New按鈕來建立一個Java package
注意:對Service介面和Service執行的類的預設值是基於所填入Web Service名字來產生的.
7. 選擇Next來初始化Web Service的建立過程


Figure-8: Page-2 of new web service wizard.
該嚮導產生了IHelloWorldService Java介面和HelloWorldServiceImpl Java類.並且在services.xml設定檔中建立了一個<service>實體(),注意到example(String message)方法在介面類中產生,當Web Service部署後作為一個測試操作.


Figure-9: Newly created HelloWorld interface and implementation class
Web Service 服務端服務介面代碼
package org.stephencat.ws;
//Generated by MyEclipse
public interface ISampleService {

public String example(String message);

}
Web Service 服務端服務實現代碼
package org.stephencat.ws;
//Generated by MyEclipse
public class SampleServiceImpl implements ISampleService {

public String example(String message) {
return message + " This is Xfire !!";
}

}

三. 部署Web Service Project
類似部署Web應用程式

四. 啟動Tomcat伺服器 (或 JBoss 伺服器)

五. 使用Web Service Explorer測試Web Service
MyEclipse提供了一個Web Service Explorer來測試Web Service.
1. 在MyEclipse perspective中選擇toolbar button來執行Web Service Explorer


Figure-15: Web Services Explorer launch button on workbench toolbar
2. 選擇WSDL模式(Figure-16)
3. 在活動面板中鍵入HelloWorldService WSDL文檔的URL
http://localhost:8080/HelloWorld/services/HelloWorldService?WSDL
註:地址中的 HelloWorldService 是之前在嚮導中輸入的WS名字,區別於WS工程名字。

Web Service Explorer將下載自動產生的WSDL文檔,該WSDL文檔由XFire framework,併產生一系列的操作能夠調用service.
4. 在活動面板中選擇example操作並在in0域中鍵入HelloWorld
5. 選擇Go按鈕來調用在HelloWorldService上的example操作,,結果出現在Status面板上


Figure-16: Web Services Explorer testing HelloWorldService

六. 建立Java Test用戶端
XFire提供了一個動態代理架構,能夠讀取WSDL文檔和建立潛在的Message Service使Java類來執行在Web Service的行為.該部分將為HelloWorld Web Service寫一個Java Web Service用戶端
6.1增加XFire類庫配置
為了使example client能夠在HelloWorld工程中運行,需要增加XFire HTTP Client類庫到工程的構建路徑中.
1. 在Package Explore視圖中右擊HelloWorld工程選擇Build Path>Add Library
2. 選擇MyEclipse Libraries
3. 選擇XFire HTTP Client Libraries


Figure-17: Choosing the XFire HTTP Client Libraries
4. 選擇Finish
6.2建立HelloWorldClient類
執行Java類嚮導來建立HelloWorldClient類


Figure-18: HelloWorldClient defined in New Java Class Wizard.
Web Service 用戶端代碼如下:
package org.stephencat.ws;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.