談ASP.NET創建XML Web服務全接觸_.Net教程
推薦:談數據結構與算法:C#語言描述 目錄目錄 第1章 Collections類、泛型類和Timing類概述 1 1.1 群集的定義 1 1.2 群集的描述 1 1.2.1 直接存取群集 2 1.2.2 順序存取群集 4 1.2.3 層次群集 6 1.2.4 組群集 7 1.3 CollectionBase類 8 1.3.1 用ArrayList實現Collection類 8 1.3.2 定義Collection類
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規格的信息,請看W3C Web站點(http://www.w3.org/TR/wsdl)。
XML Web服務連接格式
象DCOM那樣的二進制協議由一個去掉專有的通信協議的頂部的方法請求層組成。這樣的協議對創建普遍可用的XML Web服務沒有幫助。這么說并不是說阻止你們在XML Web服務方案中使用這樣的協議,但是使用它們的缺點在于這樣的協議依靠它們的底層系統的特定結構,因此限制了潛在客戶的增加。
取而代之,你可以構造XML Web服務來協同一個或多個開放協議一起工作,就象HTTP和SOAP的綜合使用一樣。象你所料想的那樣,基礎結構要求支持不同的協議。
XML Web服務不局限于提供遠程過程調用訪問。它們還可以被構造來交換結構化的信息,例如采購訂單和發貨單,并且還可用于自動化和連接內部與外部的業務處理。
HTTP-GET和HTTP-POST
HTTP-GET和HTTP-POST是使用HTTP的標準協議動詞,用于編碼和傳送變量名/變量值對參數,并且使用相關的請求語義。每個HTTP-GET和HTTP-POST都由一系列HTTP請求頭組成,這些請求頭定義了客戶端從服務器請求了什么,而響應則是由一系列HTTP應答頭和應答數據組成,如果請求成功則返回應答。
HTTP-GET以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數。Urlencoding是一種字符編碼,保證被傳送的參數由遵循規范的文本組成,例如一個空格的編碼是"%20"。附加參數還能被認為是一個查詢字符串。
與HTTP-GET類似,HTTP-POST參數也是被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信封,包括SMTP、FTP甚至一個軟盤
分享:談.NET 3.5 SP1 X64與HTTP Error 5032009年4月的日子里,每天總有那么幾次,早上、中午或者夜里都可能出現它的身影,不知它給園子里多少朋友帶來了麻煩!,它就是: HTTP Error 503. The service is unavailable 伴隨著503,事件日志會記錄下列信息: 1)Event ID 1023: .NET Runtime version 2.0
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-談ASP.NET創建XML Web服務全接觸。