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

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

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

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(2)

XML Web服務(wù)描述

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

例如,與遠(yuǎn)程過(guò)程調(diào)用(RPC)風(fēng)格的服務(wù)關(guān)聯(lián)的請(qǐng)求/響應(yīng)模式將定義哪個(gè)SOAP消息模式用來(lái)調(diào)用一個(gè)特定的方法。這個(gè)模式還將定義響應(yīng)SOAP消息將遵循的格式。

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

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

更多WSDL規(guī)格的信息,請(qǐng)看W3C Web站點(diǎn)(http://www.w3.org/TR/wsdl)。

XML Web服務(wù)連接格式

象DCOM那樣的二進(jìn)制協(xié)議由一個(gè)去掉專(zhuān)有的通信協(xié)議的頂部的方法請(qǐng)求層組成。這樣的協(xié)議對(duì)創(chuàng)建普遍可用的XML Web服務(wù)沒(méi)有幫助。這么說(shuō)并不是說(shuō)阻止你們?cè)赬ML Web服務(wù)方案中使用這樣的協(xié)議,但是使用它們的缺點(diǎn)在于這樣的協(xié)議依靠它們的底層系統(tǒng)的特定結(jié)構(gòu),因此限制了潛在客戶(hù)的增加。

取而代之,你可以構(gòu)造XML Web服務(wù)來(lái)協(xié)同一個(gè)或多個(gè)開(kāi)放協(xié)議一起工作,就象HTTP和SOAP的綜合使用一樣。象你所料想的那樣,基礎(chǔ)結(jié)構(gòu)要求支持不同的協(xié)議。

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

HTTP-GET和HTTP-POST

HTTP-GET和HTTP-POST是使用HTTP的標(biāo)準(zhǔn)協(xié)議動(dòng)詞,用于編碼和傳送變量名/變量值對(duì)參數(shù),并且使用相關(guān)的請(qǐng)求語(yǔ)義。每個(gè)HTTP-GET和HTTP-POST都由一系列HTTP請(qǐng)求頭組成,這些請(qǐng)求頭定義了客戶(hù)端從服務(wù)器請(qǐng)求了什么,而響應(yīng)則是由一系列HTTP應(yīng)答頭和應(yīng)答數(shù)據(jù)組成,如果請(qǐng)求成功則返回應(yīng)答。

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

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

SOAP簡(jiǎn)介

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

通過(guò)越過(guò)標(biāo)準(zhǔn)傳輸協(xié)議,SOAP能利用因特網(wǎng)現(xiàn)有的開(kāi)放體系結(jié)構(gòu),并且能夠被任何支持最基本的因特網(wǎng)標(biāo)準(zhǔn)的系統(tǒng)所接受。通過(guò)越過(guò)標(biāo)準(zhǔn)傳輸協(xié)議,SOAP能利用因特網(wǎng)現(xiàn)有的開(kāi)放體系結(jié)構(gòu),并且能夠被任何支持最基本的因特網(wǎng)標(biāo)準(zhǔn)的系統(tǒng)所接受。你可以看到,基礎(chǔ)結(jié)構(gòu)要求支持一個(gè)雖然簡(jiǎn)單但是功能強(qiáng)大的遵從SOAP的XML Web服務(wù),因?yàn)樗静幌颥F(xiàn)有的因特網(wǎng)基礎(chǔ)結(jié)構(gòu)中添加新的內(nèi)容,然而卻有助于訪問(wèn)SOAP構(gòu)造的服務(wù)。

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

這是這個(gè)規(guī)格唯一的強(qiáng)制性的部分。

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

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

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

關(guān)鍵詞標(biāo)簽:ASP.NET,XML,Web服務(wù)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 鐘離圣遺物推薦-原神鐘離圣遺物詞條 鐘離圣遺物推薦-原神鐘離圣遺物詞條 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯(cuò)誤 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯(cuò)誤 使用aspnet_regiis.exe 重新注冊(cè).NET Framework 使用aspnet_regiis.exe 重新注冊(cè).NET Framework

相關(guān)下載

    人氣排行 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 asp.net表單提交方法GET\POST 在ASP.NET中如何判斷用戶(hù)IE瀏覽器的版本 Asp.net中messagebox的實(shí)現(xiàn)方法 Asp.net中的web.config配置 在ASP.NET MVC中實(shí)現(xiàn)大文件異步上傳 asp.net獲取URL和IP地址 FileUpload上傳多文件出現(xiàn)錯(cuò)誤的解決方法