Soap學習進程

1. 什麼是 SOAP?服務器

  • SOAP 指簡易對象訪問協議
  • SOAP 是一種通訊協議
  • SOAP 用於應用程序之間的通訊
  • SOAP 是一種用於發送消息的格式
  • SOAP 被設計用來經過因特網進行通訊
  • SOAP 獨立於平臺
  • SOAP 獨立於語言
  • SOAP 基於 XML
  • SOAP 很簡單並可擴展
  • SOAP 容許您繞過防火牆
  • SOAP 將被做爲 W3C 標準來發展

2.SOAP 構建模塊app

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

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

3.語法規則spa

這裏是一些重要的語法規則:設計

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

代碼示例:code

<?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>

 

 4.一個 SOAP 實例xml

在下面的例子中,一個 GetStockPrice 請求被髮送到了服務器。此請求有一個 StockName 參數,而在響應中則會返回一個 Price 參數。此功能的命名空間被定義在此地址中: "http://www.example.org/stock"對象

SOAP 請求:

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?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:Body xmlns:m="http://www.example.org/stock">
    <m:GetStockPrice>
      <m:StockName>IBM</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
  
</soap:Envelope>

SOAP 響應:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?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:Body xmlns:m="http://www.example.org/stock">
    <m:GetStockPriceResponse>
      <m:Price>34.5</m:Price>
    </m:GetStockPriceResponse>
  </soap:Body>
  
</soap:Envelope>
相關文章
相關標籤/搜索