當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊
用WSDL定義Web服務(wù)
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org用WSDL定義Web服務(wù)
在Web服務(wù)的世界里,應(yīng)用程序基本上由遠(yuǎn)程的、XML驅(qū)動(dòng)的組件構(gòu)成,這些組件采用不同的語言編寫,再采用標(biāo)準(zhǔn)的遠(yuǎn)程激活協(xié)議通過Web連接。服務(wù)提供者定義所提供服務(wù)需要用到的數(shù)據(jù)格式。同樣的,當(dāng)你在以上應(yīng)用模式下接受Web服務(wù)時(shí),你也需要采取措施保證你的客戶程序采用了服務(wù)器期望的數(shù)據(jù)格式。這正是WSDL(Web服務(wù)定義語言)大顯身手的地方。
WSDL概述
WSDL就是描述XML
Web服務(wù)的標(biāo)準(zhǔn)XML格式,WSDL由Ariba、Intel、IBM和微軟等開發(fā)商提出。它用一種和具體語言無關(guān)的抽象方式定義了給定Web服務(wù)收發(fā)的有關(guān)操作和消息。就其定義來說,你還不能把WSDL當(dāng)作一種對(duì)象接口定義語言,例如,CORBA或COM等應(yīng)用程序體系結(jié)構(gòu)就會(huì)用到對(duì)象接口定義語言。
WSDL保持協(xié)議中立,但它確實(shí)內(nèi)建了綁定SOAP的支持,從而同SOAP建立了不可分割的聯(lián)系。所以,當(dāng)我在這篇文章中討論WSDL的時(shí)候,我會(huì)假定你把SOAP作為了你的通訊協(xié)議。
WSDL協(xié)議已經(jīng)被提交給了Internet標(biāo)準(zhǔn)組織W3C審批,目前還處于“確認(rèn)提交”狀態(tài)。W3C維持著正規(guī)的標(biāo)準(zhǔn)化系統(tǒng)同時(shí)提交提案必須經(jīng)過確定的一套批準(zhǔn)過程才能最終成為官方協(xié)議。在這種情況下,WSDL的地位,照外行看,至少標(biāo)準(zhǔn)組織在考慮讓其成為將來可能標(biāo)準(zhǔn)中的一部分。如果你對(duì)這方面的情況感興趣,或碰巧是一位特關(guān)心結(jié)果的“失眠癥患者”,那么你不妨到W3C網(wǎng)站上去讀讀有關(guān)的建議標(biāo)準(zhǔn)。
用WSDL說明服務(wù)
作為一種基于XML的標(biāo)準(zhǔn),如果你對(duì)XML具有一定的了解,那么WSDL的結(jié)構(gòu)對(duì)你就不會(huì)陌生了。WSDL文檔由服務(wù)用來描述數(shù)據(jù)類型的一組元素、服務(wù)可以收到的“消息”以及關(guān)聯(lián)每條消息的SOAP綁定組成。
清單A就是一份簡單的WSDL文檔,該文檔同W3C網(wǎng)站公布的WSDL示范文本是一樣的,它說明了一種股票行情服務(wù)(這也是相當(dāng)標(biāo)準(zhǔn)的一種Web服務(wù))。
再仔細(xì)閱讀清單A,你可以看到,文檔首先以標(biāo)準(zhǔn)的XML頭開頭,其中包含了一個(gè)版本標(biāo)識(shí),而文檔的根元素則被稱為definitions。
Definitions元素可以采用若干種可選屬性,這些屬性說明文檔同時(shí)定義文檔其余部分使用的名稱空間(namespace)。在這種情況下,定義被分配了一個(gè)名字(StockQuote),某些名稱空間定義是根據(jù)以下常規(guī)前綴縮寫制定的:
tns—“this namespace”的縮寫,包含被定義服務(wù)的主名稱空間
xsdl—XML Schema
(XSD)名稱空間,用于定義文檔中的類型
soap—SOAP綁定采用的名稱空間
接下來,為了定義服務(wù)的接口需要在type元素內(nèi)定義所需要的任何復(fù)雜類型。這里你必須注意使用標(biāo)準(zhǔn)的XSD句法(屬性),它是創(chuàng)造數(shù)據(jù)類型定義最為適合的方法。不過,如果你愿意,WSDL也能擴(kuò)展使用不同的類型定義系統(tǒng)。
消息概述
按WSDL的用法,消息可以是傳遞給某一服務(wù)公布對(duì)象上的方法的任何參數(shù)或者方法被調(diào)用之后的任何返回結(jié)果。為了繼續(xù)使用股票行情這個(gè)Web服務(wù)例子,單一定義方法多半如以下偽代碼所示:
floatgetLastTradePrice(string tickerSymbol)
這樣,就像你從清單A所看到的那樣,文檔中定義了兩條消息,一條代表方法的輸入?yún)?shù)tickerSymbol(GetLastTradePriceInput消息)另一條代表該方法的返回值(GetLastTradePriceResult消息)——最新的股票價(jià)格。
操作把消息組織到一起而且抽象地代表方法定義。在我們的例子中,這兩條消息都在 GetLastTradePrice操作元素下的getLastTradePrice對(duì)象方法定義中組織起來。在一個(gè) WSDL文件中的所有操作又都挨個(gè)在portType元素內(nèi)分組。
WSDL文檔的余下部分采用服務(wù)器上的偵聽端點(diǎn)(binding 元素)綁定消息同時(shí)把端口定義同單一服務(wù)實(shí)體(service元素)組合起來。清單A的例子就定義了通過SOAP采用服務(wù)所需要的綁定。
WSDL工具
你可以手工創(chuàng)建WSDL文件,不過,你還可以采用相當(dāng)多的工具通過WSDL來為你自動(dòng)處理和定義Web服務(wù)。推薦工具軟件如下:
Omniopera—一圖形用戶界面的WSDL、XML和XSD編輯器
Microsoft的SOAP
Toolkit—一種工具包,其中包括根據(jù)WSDL定義創(chuàng)建COM接口的向?qū)С绦?,還包括根據(jù)COM接口創(chuàng)建WSDL的向?qū)С绦?
IBM的Web
Services Toolkit—一種工具包,其中包括產(chǎn)生WSDL和SOAP部署說明的向?qū)С绦?
- 1醫(yī)療行業(yè)信息化的九大趨勢
- 2開源軟件真正能夠用起來還在于執(zhí)行力
- 3Web服務(wù)讓CIO們左右為難 選擇.NET還是Java?
- 4成功實(shí)施IT外包的10條基本法則
- 5實(shí)用才是硬道理
- 6中小企業(yè)軟件市場獲勝三因素
- 7把你的Web服務(wù)展現(xiàn)在世界面前
- 8IT項(xiàng)目管理:成本風(fēng)險(xiǎn)中游走
- 9IT組織的流程再造研究
- 10醫(yī)療共同體的4S服務(wù)是如何煉成的
- 11誰來為安全買單?交通違法不能承受之重
- 12我國公司IT治理進(jìn)程、誤區(qū)及管控模式分析
- 13.Net 替代品
- 14公司治理的“新木桶理論”
- 15OA免費(fèi)版本,使得免費(fèi)OA一時(shí)間成為中小企業(yè)OA選型關(guān)注的熱點(diǎn)
- 16XX市健康教育所微信公眾平臺(tái)總體需求
- 17解讀項(xiàng)目實(shí)施過程中的溝通管理
- 18業(yè)內(nèi)人士認(rèn)為網(wǎng)絡(luò)服務(wù)是2002年IT熱點(diǎn)
- 19信息化悄然推動(dòng)稅收征管革命
- 20電子政務(wù)的發(fā)展離不開SOA架構(gòu)的支持
- 21人力資源戰(zhàn)略轉(zhuǎn)型 應(yīng)戰(zhàn)經(jīng)濟(jì)危機(jī)
- 22中國IT治理和風(fēng)險(xiǎn)管理的現(xiàn)狀、挑戰(zhàn)和對(duì)策
- 23[原創(chuàng)]《做ITSM咨詢?cè)扞TIL》之二:ITIL勿用流程之名行職能之實(shí)
- 24規(guī)避風(fēng)險(xiǎn) EMS外包業(yè)的本質(zhì)與探索
- 25OA辦公軟件特色和特點(diǎn)分析
- 26審視ITIL價(jià)值
- 27SUN代表自由聯(lián)盟 給微軟一記回馬槍
- 28制造企業(yè)的erp系統(tǒng)多少錢 SCM與CRM的整合
- 29企業(yè)風(fēng)險(xiǎn)管理之價(jià)值角度的初探
- 30國航:信息化創(chuàng)新競爭力
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114