1. 程式人生 > >webservice---soap協議

webservice---soap協議

   SOAP(SimpleObjectaccessPRotocal,簡單物件訪問協議)技術有助於實現大量異構程式和平臺之間的互操作性,從而使存在的應用能夠被廣泛的使用者所訪問。SOAP是把成熟的基於HTTP的WEB技術與xml的靈活性和可擴充套件性組合在了一起。

SOAP協議:簡單物件訪問協議(SOAP:Simple Object Access Protocol),簡單物件訪問協議(SOAP)是一種輕量的、簡單的、基於 XML 的協議,它被設計成在 WEB 上交換結構化的和固化的資訊. SOAP協議可以和現存的許多因特網協議和格式結合使用,包括超文字傳輸協議( HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME).它還支援從訊息系統到遠端過程呼叫(RPC)等大量的應用程式.

SOAP包括三個部分:

SOAP封裝:它定義了一個框架 , 該框架描述了訊息中的內容是什麼,誰應當處理它以及它是可選的還是必須的.

SOAP編碼規則:它定義了一種序列化的機制,用於交換應用程式所定義的資料型別的例項.

SOAPRPC 表示:它定義了用於表示遠端過程呼叫和應答的協定.(RPC:英文原義:Remote Procedure Call Protocol

SOAP訊息基本上是從傳送端到接收端的單向傳輸,但它們常常結合起來執行類似於請求 / 應答的模式.所有的 SOAP 訊息都使用 XML 編碼.一條 SOAP 訊息就是一個包含有一個必需的 SOAP 的封裝包,一個可選的SOAP 標頭和一個必需的 SOAP 體塊的 XML 文件.把 SOAP 繫結到 HTTP 提供了同時利用 SOAP 的樣式和分散的靈活性的特點以及 HTTP 的豐富的特徵庫的優點.在 HTTP 上傳送 SOAP 並不是說 SOAP 會覆蓋現有的 HTTP 語義,而是 HTTP 上的 SOAP 語義會自然的對映到 HTTP 語義.在使用 HTTP 作為協議繫結的場合中, RPC 請求對映到 HTTP 請求上,而 RPC 應答對映到 HTTP 應答.然而,在 RPC 上使用 SOAP 並不僅限於 HTTP 協議繫結.

SOAP 的優點: (1) SOAP 是可擴充套件的。SOAP 無需中斷已有的應用程式, SOAP 客戶端、 伺服器和協議自身都能發展。而且SOAP 能極好地支援中間介質和層次化的體系結構。

(2) SOAP 是簡單的。客戶端傳送一個請求,呼叫相應的物件, 然後伺服器返回結果。這些訊息是XML 格式的,並且封裝成符合HTTP 協議的訊息。因此,它符合任何路由器、 防火牆或代理伺服器的要求。

(3) SOAP 是完全和廠商無關。SOAP可以相對於平臺、 作業系統、 目標模型和程式語言獨立實現。另外,傳輸和語言繫結以及資料編碼的引數選擇都是由具體的實現決定的。

(4) SOAP 與程式語言無關。SOAP 可以使用任何語言來完成, 只要客戶端傳送正確SOAP 請求( 也就是說, 傳遞一個合適的引數給一個實際的遠端伺服器)。SOAP 沒有物件模型, 應用程式可以捆綁在任何物件模型中。

(5) SOAP 與平臺無關。SOAP 可以在任何作業系統中無需改動正常執行。