SOAP的介绍
? SOAP是一個基于XML的,在分散或分布式的環境中交互信息的簡單協議,它主要包括:
? ?SOAP Envelope定義一個描述消息中的內容,發送者,接受者,處理者已經如何處理的框架。
? ?SOAP編碼規則永遠表示使用數據類型的示例。
? ?SOAP RPC表示遠程過程調用和應答的協定。
? ?SOAP綁定(binding)使用底層協議交換信息。
SOAP消息一般有一個Envelope元素附帶一個可選的Header元素和一個必需的Body元素組成。
? ? <soap:Envelope
? ? ? ? ? ? ? ?XMLns:soap=‘http://Schemas.XMLsoap.org/soap/envelope/'
? ? ? ? ? ? ? ?soap:encodingStyle='http://Schema
? ? ? ? ? ? ? <soap:Header>
? ? ? ? ? ? ? ? ? ? ? ? <!--extensions go here-->
? ? ? ? ? ? ? ? </soap:Header>
? ? ? ? ? ? ? ?<soap:Body>
? ? ? ? ? ? ? ? ? ? ? ? ?<!--extensions go here-->
? ? ? ? ? ? ? ? </soap:Body>
?</soap:Envelope>
?SOAP的消息結構
? ?SOAP是利用XML來定義的分布式計算環境中交互的信息的協議,也就是說SOAP消息是用XML來編碼的。SOAP將方法調用參數保存為二進制格式,將這些參數作為XML信息傳遞到服務器,然后,服務器上相應的SOAP處理程序提前XML信息,并將它恢復為二進制形式進行處理的。
? ?SOAP Envelope的語法規則:
? ?元素名為Envelope,該元素在SOAP消息中出現。
? ?該元素可以包含明明空間生命和額外的屬性。
? ?類似的,該元素可以包含子元素。
? ?SOAP Header:
?Header元素作為SOAP Envelope XML文檔的一個直接的之元素。Header的所有子元素都必需是完整修飾,是一個命名空間URI和局部名組成。
? ?SOAP encodingStyle屬性永遠指明Header條目的編碼風格,mustUnderstand屬性和actor屬性永遠指明如何處理條目和由誰來處理該條目。
? ?設置Header屬性為了讓消息介紹則知道如何處理該消息。一個生成SOAP消息的SOAP應用程序應該僅使用SOAP Header元素的直接子元素的SOAP Header屬性,對于那些并非作為SOAP Header元素的子元素出現的。SOAP消息的接受則必需護綠。
? ?SOAP Body
? ?SOAP Body元素提供一個簡單的永遠與消息的最終接收者交換信息的機制。Body元素的典型應用包含RPC調用和錯誤報告。
總結
- 上一篇: 开放系统的延伸
- 下一篇: SOAP HTTP绑定