SOAP HTTP绑定

来源:互联网 发布:小米手机数据连接不上 编辑:程序博客网 时间:2024/05/16 23:38

  HTTP协议

   HTTP在TCP/IP之上进行通信。HTTP客户机使用TCP连接到HTTP服务器。在建立连接之后,客户机可向服务器发送HTTP请求消息:

   SOAP HTTP Binding

 soap方法指的是遵守SOAP编码规则的HTTP请求/响应。

   HTTP+XML=SOAP

  SOAP请求可能是HTTP POST或HTTP GET

  HTTP Post请求规定至少两个HTTP头:Content-Type和Content-Length。

  Content-Type

   SOAP的请求和响应的Content-Type头可定义消息的MIME类型,以及用于请求或响应的XML主体的字符编码

   Content-Type:MIMEType;charset=character-encoding

POST /item HTTP/1.1Content-Type: application/soap+xml; charset=utf-8
  Content-Length

SOAP的

POST /item HTTP/1.1Content-Type: application/soap+xml; charset=utf-8Content-Length: 250
请求和响应的Content-Length头规定请求或响应的主体的字节数


一个 SOAP 实例

在下面的例子中,一个 GetStockPrice 请求被发送到了服务器。此请求有一个 StockName 参数,而在响应中则会返回一个 Price 参数。此功能的命名空间被定义在此地址中: "http://www.example.org/stock"

SOAP 请求:

POST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; charset=utf-8Content-Length: nnn<?xml version="1.0"?><soap:Envelopexmlns: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 OKContent-Type: application/soap+xml; charset=utf-8Content-Length: nnn<?xml version="1.0"?><soap:Envelopexmlns: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>


    

0 0