SOAP实例

一个 SOAP 实例

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

 

SOAP Body 元素的直接子元素可以是合格的命名空间。SOAP 在默认的命名空间中("http://www.w3.org/2001/12/soap-envelope ")定义了 Body 元素内部的一个元素。是soap标准的一部分。

   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>
 

    SOAP 构建模块

      一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  • 必需 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息,根元素
  • 可选的 Header 元素,包含头部信息
  • 必需Body 元素,包含所有的调用和响应信息
  • 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息,位于Body里面

    xmlns:soap 命名空间

       SOAP 消息必须拥有与命名空间 "http://www.w3.org/2001/12/soap-envelope" 相关联的一个 Envelope 元素。

 

    soap属性

      SOAP 在默认的命名空间中 ("http://www.w3.org/2001/12/soap-envelope") 定义了三个属性 。这三个属性是:actor、 mustUnderstand 以及 encodingStyle。这些被定义在 SOAP 头部的属性可定义容器如何对 SOAP 消息进行处理。

  •    actor属性:用于将 Header 元素寻址到一个特定的端点
  •    mustUnderstand属性:标识标题项对于要对其进行处理的接收者来说是强制的还是可选的。如果是1,接收者必须认可此元素。
  •    encodingStyle属性:定义在文档中使用的数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值