創(chuàng)建客戶端程序
我們可以使用很多方法,任何SOAP工具來創(chuàng)建客戶端程序,例如.Net或Apache Axis。我的這個(gè)例子中我是用一個(gè)名叫WsClient.java的Servlet中的動(dòng)態(tài)代理。為了減少編碼的代價(jià),我將所有屏幕構(gòu)建元素都放到doGet()方法中。對(duì)Web服務(wù)服務(wù)的實(shí)際調(diào)用在callWebService()方法中。代碼很簡(jiǎn)單:
















































這段代碼做了些什么?讓我解釋一下:首先我們創(chuàng)建了一個(gè)服務(wù)模型,里面包含了對(duì)服務(wù)的描述,換句話說,我們創(chuàng)建了服務(wù)的元數(shù)據(jù)。我們是用XFire的ObjectServiceFactory通過接口IBankingService.class創(chuàng)建了這個(gè)服務(wù)模型。
下一步就是獲取XFire的代理對(duì)象。這一步中沒有任何應(yīng)用細(xì)節(jié)。通過proxyFactory,使用服務(wù)模型和服務(wù)終點(diǎn)URL(用于獲得WSDL),我們獲得了服務(wù)的本地代理。
這個(gè)代理就是實(shí)際的客戶端。現(xiàn)在我們可以調(diào)用transferFunds()方法獲得我們想要的Web服務(wù)了。
一旦這個(gè)例子部署成功并啟動(dòng),就可以用下面的Servlet URL檢驗(yàn):
http://localhost:8080/websvc/ws
Servlet使用默認(rèn)的參數(shù)訪問Web服務(wù)并顯示接收到的響應(yīng)。你應(yīng)該能看到下面兩行信息
Response Received
COMPLETED: CDN$ 500.00 was successfully transferred from A/C# 11111-01234 to A/C# 99999-05678
現(xiàn)在你可以確信Web服務(wù)真的起來了并且工作正常。
你可以嘗試傳入不同的數(shù)據(jù)。你可以輸入類似于下面的URL
http://localhost:8080/websvc/ws?from=11-2345&to=77-9876&amt=250.00&cur=EUR.
Web服務(wù)開發(fā)的基本步驟
下面列出了使用XFire開發(fā)Web服務(wù)的基本步驟:
1、檢驗(yàn)Java類的方法和構(gòu)造函數(shù)時(shí)公共的;
2、將XFire Servlet相關(guān)的入口添加到web.xml中;
3、創(chuàng)建services.xml并把它放到WEB-INF/classes/META-INF/xfire目錄下;
4、將Xfire和其他第三方庫(kù)添加到你的Web應(yīng)用的WEB-INF/lib 目錄下。
OK,這就是全部要做,就是這么簡(jiǎn)單。