IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁網(wǎng)絡編程.Net編程 → ASP.NET創(chuàng)建XML Web服務全接觸

ASP.NET創(chuàng)建XML Web服務全接觸

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

XML Web服務描述

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

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

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

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

更多WSDL規(guī)格的信息,請看W3C Web站點(https://www.w3.org/TR/wsdl)。

XML Web服務連接格式

象DCOM那樣的二進制協(xié)議由一個去掉專有的通信協(xié)議的頂部的方法請求層組成。這樣的協(xié)議對創(chuàng)建普遍可用的XML Web服務沒有幫助。這么說并不是說阻止你們在XML Web服務方案中使用這樣的協(xié)議,但是使用它們的缺點在于這樣的協(xié)議依靠它們的底層系統(tǒng)的特定結構,因此限制了潛在客戶的增加。

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

XML Web服務不局限于提供遠程過程調(diào)用訪問。它們還可以被構造來交換結構化的信息,例如采購訂單和發(fā)貨單,并且還可用于自動化和連接內(nèi)部與外部的業(yè)務處理。

HTTP-GET和HTTP-POST

HTTP-GET和HTTP-POST是使用HTTP的標準協(xié)議動詞,用于編碼和傳送變量名/變量值對參數(shù),并且使用相關的請求語義。每個HTTP-GET和HTTP-POST都由一系列HTTP請求頭組成,這些請求頭定義了客戶端從服務器請求了什么,而響應則是由一系列HTTP應答頭和應答數(shù)據(jù)組成,如果請求成功則返回應答。

HTTP-GET以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數(shù)。Urlencoding是一種字符編碼,保證被傳送的參數(shù)由遵循規(guī)范的文本組成,例如一個空格的編碼是"%20"。附加參數(shù)還能被認為是一個查詢字符串。

與HTTP-GET類似,HTTP-POST參數(shù)也是被URL編碼的。然而,變量名/變量值不作為URL的一部分被傳送,而是放在實際的HTTP請求消息內(nèi)部被傳送。

SOAP簡介

SOAP是一個簡單的、重量輕的基于XML的協(xié)議,用于交換Web上的結構化的和模式化的信息。SOAP的總體設計目標是使它保持盡可能的簡單,并且提供最少的功能。這個協(xié)議定義了一個不包含應用程序或傳輸語義的消息框架。因此,這個協(xié)議是模塊化的并且非常利于擴展。

通過越過標準傳輸協(xié)議,SOAP能利用因特網(wǎng)現(xiàn)有的開放體系結構,并且能夠被任何支持最基本的因特網(wǎng)標準的系統(tǒng)所接受。通過越過標準傳輸協(xié)議,SOAP能利用因特網(wǎng)現(xiàn)有的開放體系結構,并且能夠被任何支持最基本的因特網(wǎng)標準的系統(tǒng)所接受。你可以看到,基礎結構要求支持一個雖然簡單但是功能強大的遵從SOAP的XML Web服務,因為它基本不向現(xiàn)有的因特網(wǎng)基礎結構中添加新的內(nèi)容,然而卻有助于訪問SOAP構造的服務。

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

這是這個規(guī)格唯一的強制性的部分。

SOAP協(xié)議規(guī)范的第二部分定義了可選數(shù)據(jù)編碼規(guī)則用于表示應用程序定義的數(shù)據(jù)類型和直接圖表,以及一個用于序列化非語法數(shù)據(jù)模型的統(tǒng)一模型。

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

這個規(guī)格的第四部分定義了SOAP和HTTP之間的綁定。然而,這個部分還是可選的。你可以讓SOAP和任何轉(zhuǎn)送協(xié)議或機制一起協(xié)同使用,這些傳送協(xié)議能夠傳送SOAP信封,包括SMTP、FTP甚至一個軟盤。

關鍵詞標簽:ASP.NET,XML,Web服務

相關閱讀

文章評論
發(fā)表評論

熱門文章 手把手教你用好LINQ to SQL手把手教你用好LINQ to SQL在.NET環(huán)境下為網(wǎng)站增加IP過濾功能在.NET環(huán)境下為網(wǎng)站增加IP過濾功能ASP.NET 如何避免頁面重新整理時重復送出ASP.NET 如何避免頁面重新整理時重復送出用Asp.net擴展ExtJS用Asp.net擴展ExtJS

相關下載

人氣排行 asp.net表單提交方法GET\POST在ASP.NET中如何判斷用戶IE瀏覽器的版本Asp.net中messagebox的實現(xiàn)方法Asp.net中的web.config配置在ASP.NET MVC中實現(xiàn)大文件異步上傳用Iformattable接口控制.Net中文本格式c#.Net經(jīng)典面試題目用Asp.net擴展ExtJS