一路拾遺
          Collect By Finding All The Way ......
          posts - 81,comments - 41,trackbacks - 0


          ASP.NET 中,XML Web Service支持三種協議來與用戶交流數據。這三種協議分別是:

          1. SOAPSimple Object Access Protocol

          2.  HTTP-GET

          3.   HTTP-POST

          1.首先我們先來理解一下這三者的大概定義。

          在這三種協議中,SOAPXML Web Service最常用到的連接協議。與HTTP相比,SOAP顯的更為復雜,但卻擁有更強的接受能力。SOAP是一種以XML為基礎的協議,它提供一種將數據打包(Packaging)和 編碼(Encoding)的方法,以用于網絡的數據傳輸。任意一個用戶都可以使用SOAP協議與任何一個XML Web Service進行通信,甚至于說這個XML Web Service不是建立在.NET 平臺上的,比如說Java的,我們都可以利用SOAP來進行數據傳輸。因此可見,SOAP也是Language Independent.(語言獨立性)

          HTTP(Hypertext Transfer Protocol) 已經是眾所周知的協議了,它是XML Web Service數據傳輸的標準,這包括了在使用SOAP傳輸數據的時候。HTTPSOAP 消息壓縮,然后以它的形式進行網絡傳輸。然而當我們談及在XML Web Service下使用HTTP-GETHTTP-POST的時候,我們實事上在談有關單獨使用HTTP調用XML Web Service中的方法的能力,這里我說的單獨使用,指的是不使用SOAP

          HTTP中,GET 和 POST并不是一種協議,它們是可以用來與Web Service交互的幾種方法中的其中二種。然而,這二種方法的傳送參數和數據的能力使它們變成了一種簡單的,非常適合用來調用XML Web Service的工具。


          2HTTP-GET 和 HTTP-POST 的比較

          這二者最大的區別在于數據是如何與要求的消息捆綁在一起的。

          HTTP-GET的處理特征如下:

          將數據添加到URL

          利用一個問號(”?”)代表URL地址的結尾與數據的開端。

          每一個數據的元素以 名稱/ (name/value) 的形式出現。

          利用一個分號(“;”)來區分多個數據元素。

          HTTP-POST的處理特征如下:

          將數據包括在HTTP主體中。

          同樣的,數據的元素以 名稱/ (name/value) 的形式出現。

          但是每一個數據元素分別占用主體的一行。

          從這二者不同的處理特征,可以看出它們的不同之處,而大家也可以利用IE打開一個Web Service文件,在頁面中,IE會顯示出二種的數據的不同之處。

          3HTTPSOAP的比較

          HTTP-GET HTTP-POST 提供了一個簡單的與XML Web Service交互的工具,與SOAP相比,它有以下幾點好處:

          。 能夠非常容易的創建正確的HTTP-GET HTTP-POST消息,當面向的客戶是不能使用SOAP的客戶時,HTTP-GET HTTP-POST是最好的選擇。

          響應HTTP-GET HTTP-POST的消息,并不需要復雜的XML處理。響應之中包括了XML,但它有一個簡單的框架并能夠輕易的利用一般的技術處理響應。這些特點使HTTP-GET HTTP-POST對于不支持XML的平臺來說,變的異常的有用。

          HTTP-GET HTTP-POST消息比起SOAP消息來說,更為簡單。這有利于提高整體的性能。

          然而,有得必有失,有好必有壞,它們也存在不可忽略的缺點:

          不能夠利用HTML調用XML Web Service中的以復雜數據類型為參數的方法。

          你可以調用XML Web Service中返回值為復雜數據類型的方法,但是響應將僅包括復雜數據類型中各個區域中的名字/值,并且返回的值并沒有結構可言。你必須手動的將數據解壓縮到WSDL文件。

          HTTP中,你不能使用reference進行參數的傳輸。

          使用HTTPXML Web Service進行交流,不是一個agreed-to工業標準技術。雖然HTTP會在ASP.NET Web Application中與XML Web Service正常工作,但不保證它在其它的環境下正常工作。

          這是我對XML Web Service的初步認識,難免有些錯誤。如果不對,還請大家指正。

          posted on 2009-06-25 16:30 胖胖泡泡 閱讀(404) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 昌乐县| 千阳县| 攀枝花市| 湘潭县| 广宗县| 大名县| 灌阳县| 古田县| 达拉特旗| 穆棱市| 满城县| 儋州市| 太湖县| 扎赉特旗| 民乐县| 竹溪县| 洪洞县| 白河县| 嘉兴市| 永年县| 鹤峰县| 兰坪| 三明市| 太康县| 出国| 满洲里市| 蒙山县| 翁源县| 崇信县| 时尚| 庄河市| 绥滨县| 遂川县| 新兴县| 双牌县| 新沂市| 交口县| 洛川县| 新蔡县| 布尔津县| 龙陵县|