1. SOAP簡介:
1) SOAP(simple object access protocol)是一種基於XML的消息規範,它描述了數據類型的消息格式以及一整套串行化規則,包括結構化類型和數組。另外,它還描述瞭如何使用HTTP來傳輸消息。
2) SOAP 規範定義了兩種可以使用 SOAP 的方式。第一種方式,SOAP 可用於描述一個一般的 XML 文檔。這種格式的 SOAP 消息被稱作消息傳遞(或文檔)樣式。第二種方式,有一種更特殊的 SOAP 格式,它要求嵌套的 XML 文檔遵循遠程過程調用(remote procedure call(RPC))語義。RPC 樣式的 SOAP 消息要麼用一個過程調用的名稱和參數值來描述此過程調用,要麼描述一個過程的返回。
2. SOAP的發展歷史:
SOA的概念最初由Gartner公司提出,由於當時的技術水平和市場環境尚不具備真正實施SOA的條件,因此當時SOA並未引起人們的廣泛關注,SOA 在當時沉寂了一段時間。伴隨着互聯網的浪潮,越來越多的企業將業務轉移到互聯網領域,帶動了電子商務的蓬勃發展。爲了能夠將公司的業務打包成獨立的、具有 很強伸縮性的基於互聯網的服務,人們提出了Web服務的概念,這可以說是SOA的發端。
3SOAP 消息傳輸涉及到三個主要角色:
1)SOAP 發送方創建一條 SOAP 消息並將它發送給最終的 SOAP 接收方。
可以放置一個可選的 SOAP 中介體,以便在 SOAP 發送方和最終的 SOAP 接收方之間攔截一條 SOAP 消息。任何攔截 SOAP 消息的中介體都能夠在把消息發送到最終的 2)SOAP 目的地之前分析這條消息以執行過濾、日誌記錄、高速緩存之類的操作。SOAP 中介體可以被看作是一個發送方和接收方。
1) SOAP 發送方生成的 SOAP 消息的期望目的地((也就是說,發送方不是一箇中介體))被稱作最終 SOAP 接收方。
4SOAP的結構:
2.)個可選的且可擴展的 Header 元素,它用 於描述安全性、事務和對話狀態信息之類的元 數據。
3.)需的 Body 元素包含發送方的 XML 文檔。發送 方的 XML 文檔絕對不能包含 XML 聲明或 DOCTYPE 聲明。發送方的文檔可以遵守兩個主要的 範例:文檔樣式或 RFC 樣式。在下兩節中將描述這 兩個範例。可以通過設置 encodingStyle 屬性來指定 Body 的內容的序列化規則。標準的 SOAP 編碼名稱 空間是 http://schemas.xmlsoap.org/soap/encoding/。
4)faults 的元素可以被處理節點(SOAP 中介體或最終的 SOAP 目的地)用來描述它可能碰到的任何異常情況,這些異常情況可能在它閱讀 SOAP 消息時發生。
5.)還有一個 attachment,它指定嵌入和描述 SOAP 消息附件的方式。附件可以是任何類型的文件,無論是基於二進制的還是基於字符的。附件規範應用了 MIME 規範規則,而不是新建一種編碼模式。
SOAP Envelope 定義了一個描述信息中的內容、發送者、接受者、處理者以及如何處理的框架。
SOAP Encoding rule(編碼規則) 用於表示使用數據類型的實例。
SOAP RPC表示遠程過程調用和應答的協定。
SOAP Binding 使用底層協議交換信息。
4.SOAP的消息應用模式:
1)請求/響應模式
2)fire-and-forget模式
1.面向單個接收者
2.面向多個接收者
3)高級消息交換模式
4)增量解析和處理模式
.5)緩存模式