4 回答

TA貢獻1839條經驗 獲得超15個贊
wsdl是一個接口描述 主要是給用戶生成客戶端用的 依據wsdl的描述 (參數 ,服務名之類) 在客戶端生成調用服務器接口的方法 wsdl只是一個接口服務描述

TA貢獻1946條經驗 獲得超3個贊
讀懂WSDL
1. WSDL 是什么
WSDL 指網絡服務描述語言 (Web Services Description Language)。 是一種使用 XML 編寫的文檔。這種文檔可描述某個 Web service。它可規定服務的位置,以及此服務提供的操作(或方法)。
2. WSDL 文檔結構
WSDL 文檔是利用這些主要的元素來描述某個 web service 的:
元素
定義
<portType>
最重要的 WSDL 元素,它可描述一個 web service可被執行的操作以及相關的消息。
可以把 <portType> 元素比作傳統編程語言中的一個函數庫(或一個模塊、或一個類)。
<message>
用于描述一個操作的數據元素。每個消息均由一個或多個部件組成。可以把這些部件比作傳統編程語言中一個函數調用的參數。
<types>
web service 使用的數據類型定義。為了最大程度的平臺中立性,WSDL 使用 XML Schema 語法來定義數據類型。
<binding>
web service 使用的通信協議元素。為每個端口定義消息格式和協議細節。
一個 WSDL 文檔的主要結構
l 抽象定義
Types 獨立與機器和語言的類型定義
Messages 包括函數參數(輸入與輸出分開)或文檔描述
PortTypes 引用消息部分中消息定義來描述函數簽名(操作名、輸入參數、輸出參數)
2 具體定義
Bindings PortTypes部分的每一操作在此綁定實現
Services 確定每一綁定的端口地址
文檔形式為:
<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
</definitions>
WSDL 文檔可包含其它的元素,比如 extension 元素,以及一個 service 元素,此元素可把若干個 web services 的定義組合在一個單一的 WSDL 文檔中。
2.1.WSDL文檔實例
歡迎光臨DIY部落,點擊這里查看更多文章教程......
參考地址:http://www.diybl.com/course/3_program/java/javajs/2008315/104672.html
WSDL概述
WSDL就是描述XML Web服務的標準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—“this namespace”的縮寫,包含被定義服務的主名稱空間
xsdl—XML Schema (XSD)名稱空間,用于定義文檔中的類型
soap—SOAP綁定采用的名稱空間
接下來,為了定義服務的接口需要在type元素內定義所需要的任何復雜類型。這里你必須注意使用標準的XSD句法(屬性),它是創造數據類型定義最為適合的方法。不過,如果你愿意,WSDL也能擴展使用不同的類型定義系統。
消息概述
按WSDL的用法,消息可以是傳遞給某一服務公布對象上的方法的任何參數或者方法被調用之后的任何返回結果。為了繼續使用股票行情這個Web服務例子,單一定義方法多半如以下偽代碼所示:
floatgetLastTradePrice(string tickerSymbol)
這樣,就像你從清單A所看到的那樣,文檔中定義了兩條消息,一條代表方法的輸入參數tickerSymbol(GetLastTradePriceInput消息)另一條代表該方法的返回值(GetLastTradePriceResult消息)——最新的股票價格。
操作把消息組織到一起而且抽象地代表方法定義。在我們的例子中,這兩條消息都在 GetLastTradePrice操作元素下的getLastTradePrice對象方法定義中組織起來。在一個 WSDL文件中的所有操作又都挨個在portType元素內分組。
WSDL文檔的余下部分采用服務器上的偵聽端點(binding 元素)綁定消息同時把端口定義同單一服務實體(service元素)組合起來。清單A的例子就定義了通過SOAP采用服務所需要的綁定。
WSDL工具
你可以手工創建WSDL文件,不過,你還可以采用相當多的工具通過WSDL來為你自動處理和定義Web服務。推薦工具軟件如下:
Omniopera—一圖形用戶界面的WSDL、XML和XSD編輯器
Microsoft的SOAP Toolkit—一種工具包,其中包括根據WSDL定義創建COM接口的向導程序,還包括根據COM接口創建WSDL的向導程序
IBM的Web Services Toolkit—一種工具包,其中包括產生WSDL和SOAP部署說明的向導程序
參考網址:
http://iask.sina.com.cn/b/11632650.html
- 4 回答
- 0 關注
- 595 瀏覽
添加回答
舉報