SOAP 語法

SOAP 構建模塊

一條 SOAP 消息就是一個普通的 XML 文檔,包含下列元素:

  • 必需的 Envelope 元素,可把此 XML 文檔標識為一條 SOAP 消息
  • 可選的 Header 元素,包含頭部信息
  • 必需的 Body 元素,包含所有的調用和響應信息
  • 可選的 Fault 元素,提供有關在處理此消息所發生錯誤的信息

所有以上的元素均被聲明于針對 SOAP 封裝的默認命名空間中:

http://www.w3.org/2001/12/soap-envelope

以及針對 SOAP 編碼和數據類型的默認命名空間:

http://www.w3.org/2001/12/soap-encoding

語法規則

這里是一些重要的語法規則:

  • SOAP 消息必須用 XML 來編碼
  • SOAP 消息必須使用 SOAP Envelope 命名空間
  • SOAP 消息必須使用 SOAP Encoding 命名空間
  • SOAP 消息不能包含 DTD 引用
  • SOAP 消息不能包含 XML 處理指令

SOAP 消息的基本結構

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
  ...
  ...
</soap:Header>
<soap:Body>
  ...
  ...
  <soap:Fault>
    ...
    ...
  </soap:Fault>
</soap:Body>
</soap:Envelope>