終于寫了一個關于XFire的入門級demo。下面寫一下開發過程。
- 采用的工具:MyEclipse3.2 + Tomcat5.0.24 + XFire2.6。使用XFire開發WebService應該說非常的容易,隻需要按照下面例子的步驟來做:
- 導入XFire使用者庫。該庫中應包含xfire-1.1目錄下的xfire-all-1.1.jar檔案,以及 xfire-1.1/lib目錄下的所有檔案。
- 在Eclipse中建立一個 Web Service Project ,假設名為XFireQiaoJunTest,關鍵在于第三步,你要選擇你自己剛剛導入的XFire使用者庫。
WebRoot/WEB-INF/web.xml配置檔案的内容:(不用修改,MyEclipse會幫你自動生成)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" http://java.sun.com/xml/ns/j2ee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> |
- 編寫需要釋出為WebService的Java類,這個例子中是一個非常簡單的MathService.java。
package com.Qiaojunsky.xfireDemo; public class MathService { public int Add( int a , int b) { return a + b ; } } |
- XFire使用的配置檔案services.xml的内容:(需要修改)
<? xml version = " 1.0 " encoding = " UTF-8 " ?> < beans xmlns = " http://xfire.codehaus.org/config/1.0 " > < service > < name > MathService </ name > < namespace > http: // com.QiaojunSky.xfireDemo/MathService</namespace> < serviceClass > com.Qiaojun sky.xfireDemo.MathService </ serviceClass > </ service > </ beans > |
XFire會借助Spring來解析services.xml,從中提取需要釋出為WebService的配置資訊。
- 在Package Explorer中選中XFireQiaoJunTest項目,右鍵->Run As ->Run On Server,關聯到你機器上的TomCat,然後會啟動Tomcat,以啟動web服務。(注意,在進行此步驟之前,請先停止TomCat)
- 在IE中輸入 http://localhost:8080/XFireQiaoJunTest/services/MathService?wsdl 會得到正确的web服務描述文檔。