資源描述:
《java調(diào)用webservice XFire》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、問一下.Net的開發(fā)者,開發(fā)WebServices有多困難?他們會(huì)被你的問題逗樂,他們會(huì)告訴你所有步驟花費(fèi)的時(shí)間不會(huì)超過一分鐘。再問一下Java開發(fā)者,運(yùn)氣好的話你會(huì)碰到上面的回答,一般情況下,你會(huì)得到一個(gè)完全不同的答案。從WebServices引入到Java中至今已經(jīng)5年了,然而它仍然被認(rèn)為是一門較新的技術(shù),一個(gè)主要的原因就是使用Java實(shí)現(xiàn)WebServices太困難了?,F(xiàn)在,隨著新一代WebServices引擎XFire的發(fā)布,這種情況將會(huì)發(fā)生明顯的變化。使用XFire,你可以把Java類方法發(fā)布為WebServices而不需要編寫額外的代碼。在這篇文章中
2、,你將會(huì)看到XFire使WebServices開發(fā)變得多么容易和簡單?! ebServices使我們能夠在網(wǎng)絡(luò)上建立分布式系統(tǒng),應(yīng)用程序組件可以通過任何平臺(tái)、任何語言和任何方式訪問。無論應(yīng)用程序如何開發(fā),使用了什么語言,以及運(yùn)行在什么操作系統(tǒng)平臺(tái)上,只要它作為WebService,并且為協(xié)同解決問題而設(shè)計(jì),那么你的應(yīng)用程序,以任何語言開發(fā)或在任何平臺(tái)上,都可以利用它的服務(wù)。這是WebService的主要概念?! 榱藢?shí)現(xiàn)WebServices的平臺(tái)無關(guān)性和實(shí)現(xiàn)訪問獨(dú)立性,軟件行業(yè)需要遵循一些作為標(biāo)準(zhǔn)的技術(shù)。其中一些包括: ---XML:在WebService
3、s環(huán)境中各層之間進(jìn)行傳遞的默認(rèn)數(shù)據(jù)格式?! ?--SOAP:封裝和交換信息的默認(rèn)協(xié)議。第一次被提出時(shí),它是只取SimpleObjectAccessProtocol(簡單對象訪問協(xié)議)的首字母。但是現(xiàn)在SOAP更多被認(rèn)為是一個(gè)特定的名詞,以它自己而命名,同樣很多人認(rèn)為這是用詞不當(dāng):SOAP實(shí)際上不是用來訪問對象的。另外,它也不再簡單?! ?--WSDL(WebServicesDescriptionLanguage,WebServices描述語言):描述WebServices的語言。盡管基于XML并且可以被人理解,WSDL主要是由機(jī)器處理,由客戶端程序讀取和理解。
4、 下面的高級(jí)層次圖表,基于WWW協(xié)會(huì)發(fā)布的“WebServicesArchitecture”(WebServices架構(gòu))文檔,顯示了這些技術(shù)在實(shí)際的工作環(huán)境中是如何發(fā)揮作用: 這個(gè)流程圖顯示了WebServices中的核心技術(shù)是如何工作的。 這里,Provider是提供服務(wù)的應(yīng)用程序組件,Requester是使用服務(wù)的客戶端程序。很多其他技術(shù)也會(huì)參與到交互中,但是這個(gè)圖只顯示了在WebServices環(huán)境中必需的核心技術(shù)組件?! Fire是一個(gè)免費(fèi)的開源SOAP框架,它不僅可以極大方便地實(shí)現(xiàn)這樣一個(gè)環(huán)境,并且可以提供許多WebServices規(guī)范中高級(jí)特
5、征,這些特征在多數(shù)的商業(yè)或者開源工具都沒有提供。你要恰當(dāng)?shù)睦斫膺@些單詞:greateaseandsimplicity(非常輕松和簡單)。你將會(huì)看到使用XFire創(chuàng)建WebServices是多么的簡單?! 〖偃缒愕腤eb應(yīng)用有一個(gè)Java類,并且你想把它的一個(gè)方法發(fā)布為WebServices,當(dāng)使用XFire時(shí),你不需要編寫一行額外的Java代碼。只需要編輯發(fā)布描述符,然后你就會(huì)得到一個(gè)WebServices。是的,它相當(dāng)?shù)睾唵?。我們來看一個(gè)例子: 我們的例子是一個(gè)銀行業(yè)應(yīng)用程序,服務(wù)器是運(yùn)行在J2SE1.4.2_07下的ApacheTomcat5.5.7。假定
6、你已經(jīng)了解如何使用Java編寫Web應(yīng)用程序,并知道應(yīng)該如何把它部署到ApacheTomcat服務(wù)器上。我們的Web應(yīng)用程序非常簡單;它只做一件事——將資金從一個(gè)賬戶轉(zhuǎn)到另外一個(gè)賬戶上。一個(gè)普通的Java類BankingService包含了一個(gè)叫做transferFunds()的方法來為我們完成這項(xiàng)工作。它需要四個(gè)輸入?yún)?shù):· 1、StringfromAccount· 2、StringtoAccount· 3、doubleamount· 4、Stringcurrency 代碼如下:packagecom.mybank.xfire.example;impo
7、rtjava.text.NumberFormat;importjava.text.DecimalFormat;/**XFireWebServicessampleimplementationclass.?*/publicclassBankingServiceimplementsIBankingService{//Defaultconstructor.publicBankingService(){????}/**Transfersfundfromoneaccounttoanother.*/publicStringtransferFunds(StringfromAcc
8、ount,Stringt