DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> 用WSDL定義Web服務
用WSDL定義Web服務
編輯:XML基礎     

 

 

    
  在Web服務的世界裡,應用程序基本上由遠程的、XML驅動的組件構成,這些組件采用不同的語言編寫,再采用標准的遠程激活協議通過Web連接。服務提供者定義所提供服務需要用到的數據格式。同樣的,當你在以上應用模式下接受Web服務時,你也需要采取措施保證你的客戶程序采用了服務器期望的數據格式。這正是WSDL(Web服務定義語言)大顯身手的地方。
  
  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部署說明的向導程序
  
  

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved