讀懂WSDL 接口開發_第1頁
讀懂WSDL 接口開發_第2頁
讀懂WSDL 接口開發_第3頁
全文預覽已結束

讀懂WSDL 接口開發.doc 免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

讀懂WSDL

1.WSDL是什么

WSDL指網絡服務描述語言(WebServicesDescriptionLanguage)。是一種使用XML編寫的文檔。這種文檔可描述某個Webservice。它可規定服務的位置,以及此服務提供的操作(或方法)。

2.WSDL文檔結構

WSDL文檔是利用這些主要的元素來描述某個webservice的:

元素

定義

<portType>

最重要的WSDL元素,它可描述一個webservice可被執行的操作以及相關的消息。

可以把<portType>元素比作傳統編程語言中的一個函數庫(或一個模塊、或一個類)。

<message>

用于描述一個操作的數據元素。每個消息均由一個或多個部件組成。可以把這些部件比作傳統編程語言中一個函數調用的參數。

<types>

webservice使用的數據類型定義。為了最大程度的平臺中立性,WSDL使用XMLSchema語法來定義數據類型。

<binding>

webservice使用的通信協議元素。為每個端口定義消息格式和協議細節。

一個WSDL文檔的主要結構

l抽象定義

Types獨立與機器和語言的類型定義

Messages包括函數參數(輸入與輸出分開)或文檔描述

PortTypes引用消息部分中消息定義來描述函數簽名(操作名、輸入參數、輸出參數)

2具體定義

BindingsPortTypes部分的每一操作在此綁定實現

Services確定每一綁定的端口地址

文檔形式為:

<definitions>

<types>

definitionoftypes........

</types>

<message>

definitionofamessage....

</message>

<portType>

definitionofaport.......

</portType>

<binding>

definitionofabinding....

</binding>

</definitions>

WSDL文檔可包含其它的元素,比如extension元素,以及一個service元素,此元素可把若干個webservices的定義組合在一個單一的WSDL文檔中。

2.1.WSDL文檔實例

歡迎光臨DIY部落,點擊這里查看更多文章教程......

參考地址:/course/3_program/java/javajs/2008315/104672.html

WSDL概述

WSDL就是描述XMLWeb服務的標準XML格式,WSDL由Ariba、Intel、IBM和微軟等開發商提出。它用一種和具體語言無關的抽象方式定義了給定Web服務收發的有關操作和消息。就其定義來說,你還不能把WSDL當作一種對象接口定義語言,例如,CORBA或COM等應用程序體系結構就會用到對象接口定義語言。WSDL保持協議中立,但它確實內建了綁定SOAP的支持,從而同SOAP建立了不可分割的聯系。所以,當我在這篇文章中討論WSDL的時候,我會假定你把SOAP作為了你的通訊協議。

————————————————————————————

WSDL協議已經被提交給了Internet標準組織W3C審批,目前還處于“確認提交”狀態。W3C維持著正規的標準化系統同時提交提案必須經過確定的一套批準過程才能最終成為官方協議。在這種情況下,WSDL的地位,照外行看,至少標準組織在考慮讓其成為將來可能標準中的一部分。如果你對這方面的情況感興趣,或碰巧是一位特關心結果的“失眠癥患者”,那么你不妨到W3C網站上去讀讀有關的建議標準。

用WSDL說明服務

作為一種基于XML的標準,如果你對XML具有一定的了解,那么WSDL的結構對你就不會陌生了。WSDL文檔由服務用來描述數據類型的一組元素、服務可以收到的“消息”以及關聯每條消息的SOAP綁定組成。

清單A就是一份簡單的WSDL文檔,該文檔同W3C網站公布的WSDL示范文本是一樣的,它說明了一種股票行情服務(這也是相當標準的一種Web服務)。

再仔細閱讀清單A,你可以看到,文檔首先以標準的XML頭開頭,其中包含了一個版本標識,而文檔的根元素則被稱為definitions。

Definitions元素可以采用若干種可選屬性,這些屬性說明文檔同時定義文檔其余部分使用的名稱空間(namespace)。在這種情況下,定義被分配了一個名字(StockQuote),某些名稱空間定義是根據以下常規前綴縮寫制定的:

tns—“thisnamespace”的縮寫,包含被定義服務的主名稱空間

xsdl—XMLSchema(XSD)名稱空間,用于定義文檔中的類型

soap—SOAP綁定采用的名稱空間

接下來,為了定義服務的接口需要在type元素內定義所需要的任何復雜類型。這里你必須注意使用標準的XSD句法(屬性),它是創造數據類型定義最為適合的方法。不過,如果你愿意,WSDL也能擴展使用不同的類型定義系統。

消息概述

按WSDL的用法,消息可以是傳遞給某一服務公布對象上的方法的任何參數或者方法被調用之后的任何返回結果。為了繼續使用股票行情這個Web服務例子,單一定義方法多半如以下偽代碼所示:

floatgetLastTradePrice(stringtickerSymbol)

這樣,就像你從清單A所看到的那樣,文檔中定義了兩條消息,一條代表方法的輸入參數tickerSymbol(GetLastTradePriceInput消息)另一條代表該方法的返回值(GetLastTradePriceResult消息)——最新的股票價格。

操作把消息組織到一起而且抽象地代表方法定義。在我們的例子中,這兩條消息都在GetLastTradePrice操作元素下的getLastTradePrice對象方法定義中組織起來。在一個WSDL文件中的所有操作又都挨個在portType元素內分組。

WSDL文檔的余下部分采用服務器上的偵聽端點(binding元素)綁定消息同時把端口定義同單一服務實體(service元素)組合起來。清單A的例子就定義了通過SOAP采用服務所需要的綁定。

WSDL工具

你可以手工創建WSDL文件,不過,你還可以采用相當多的工具通過WSDL來為你自動處理和定義Web服務。推薦工具軟件如下:

Omniopera—一圖形用戶界面的WSDL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論