熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET創建XML Web服務全接觸

2022-06-13   來源: .NET編程 

  XML Web服務描述

  XML Web服務基礎結構創建在使用遵循一個公布的服務描述的基於XML的消息的通信的基礎上服務描述是一個使用WSDL語言的XML語法編寫的XML文檔定義了XML Web服務能理解的XML Web服務消息格式服務描述起一個協定的作用用來定義一個XML Web服務的行為並且指示潛在的客戶如何與之交互XML Web服務的行為取決於服務定義和支持的消息類型這些模式在概念上指示了服務使用者在相應格式的消息被發送到XML Web服務時可以期待什麼

  例如與遠程過程調用(RPC)風格的服務關聯的請求/響應模式將定義哪個SOAP消息模式用來調用一個特定的方法這個模式還將定義響應SOAP消息將遵循的格式

  消息模式的另一個例子表示單方面的交互操作這個模式在單向通信發生的時候被使用在這種情況下發送方不會從XML Web服務中接收任何消息包括故障消息 定義SOAP消息格式的模式可以在內部定義來進行實際的服務描述它們也可以在外部定義並被導入服務描述

  除了消息格式的定義和消息模式以外服務描述還可選擇性的包含每個XML Web服務入口點的地址這個地址的格式對應於用於訪問服務的協議例如URL對應於HTTP或者電子郵件地址對應於SMTP(簡單郵件傳送協議)

  更多WSDL規格的信息請看WC Web站點()

  XML Web服務連接格式
  象DCOM那樣的二進制協議由一個去掉專有的通信協議的頂部的方法請求層組成這樣的協議對創建普遍可用的XML Web服務沒有幫助這麼說並不是說阻止你們在XML Web服務方案中使用這樣的協議但是使用它們的缺點在於這樣的協議依靠它們的底層系統的特定結構因此限制了潛在客戶的增加

  取而代之你可以構造XML Web服務來協同一個或多個開放協議一起工作就象HTTP和SOAP的綜合使用一樣象你所料想的那樣基礎結構要求支持不同的協議

  XML Web服務不局限於提供遠程過程調用訪問它們還可以被構造來交換結構化的信息例如采購訂單和發貨單並且還可用於自動化和連接內部與外部的業務處理

  HTTPGET和HTTPPOST
  HTTPGET和HTTPPOST是使用HTTP的標准協議動詞用於編碼和傳送變量名/變量值對參數並且使用相關的請求語義每個HTTPGET和HTTPPOST都由一系列HTTP請求頭組成這些請求頭定義了客戶端從服務器請求了什麼而響應則是由一系列HTTP應答頭和應答數據組成如果請求成功則返回應答

  HTTPGET以使用MIME類型application/xwwwformurlencoded的urlencoded文本的格式傳遞參數Urlencoding是一種字符編碼保證被傳送的參數由遵循規范的文本組成例如一個空格的編碼是%附加參數還能被認為是一個查詢字符串

  與HTTPGET類似HTTPPOST參數也是被URL編碼的然而變量名/變量值不作為URL的一部分被傳送而是放在實際的HTTP請求消息內部被傳送

  SOAP簡介
  SOAP是一個簡單的重量輕的基於XML的協議用於交換Web上的結構化的和模式化的信息SOAP的總體設計目標是使它保持盡可能的簡單並且提供最少的功能這個協議定義了一個不包含應用程序或傳輸語義的消息框架因此這個協議是模塊化的並且非常利於擴展
通過越過標准傳輸協議SOAP能利用因特網現有的開放體系結構並且能夠被任何支持最基本的因特網標准的系統所接受通過越過標准傳輸協議SOAP能利用因特網現有的開放體系結構並且能夠被任何支持最基本的因特網標准的系統所接受你可以看到基礎結構要求支持一個雖然簡單但是功能強大的遵從SOAP的XML Web服務因為它基本不向現有的因特網基礎結構中添加新的內容然而卻有助於訪問SOAP構造的服務

  SOAP協議規范由四個主要的部分組成第一部分定義了一個強制的可擴展信封(envelope)用於封裝數據SOAP信封定義了一條SOAP消息和在SOAP信息處理器之間交換的基本單元

  這是這個規格唯一的強制性的部分

  SOAP協議規范的第二部分定義了可選數據編碼規則用於表示應用程序定義的數據類型和直接圖表以及一個用於序列化非語法數據模型的統一模型

  第三部分定義了一個遠程過程調用風格(請求/響應)信息交換的模式每個SOAP消息都是單向傳輸雖然SOAP的根源於RPC但是它不局限於請求/響應機制XML Web服務經常聯合SOAP消息來實現這樣的模式但是SOAP並不必須使用信息交換模式並且規格的這個部分是可選的

  這個規格的第四部分定義了SOAP和HTTP之間的綁定然而這個部分還是可選的你可以讓SOAP和任何轉送協議或機制一起協同使用這些傳送協議能夠傳送SOAP信封包括SMTPFTP甚至一個軟盤


From:http://tw.wingwit.com/Article/program/net/201311/12390.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.