SOAP学习(二):SOAP Header 元素

SOAP Header 元素

可选的 SOAP Header 元素可包含有关 SOAP 消息的应用程序专用信息(比如认证、支付等)。如果 Header 元素被提供,则它必须是 Envelope 元素的第一个子元素。

注释:所有 Header 元素的直接子元素必须是合格的命名空间。

  
  
<? 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 >
< m:Trans
xmlns:m ="http://www.w3schools.com/transaction/"
soap:mustUnderstand
="1" > 234 </ m:Trans >
</ soap:Header >

...
...

</ soap:Envelope >

上面的例子包含了一个带有一个 "Trans" 元素的头部,它的值是 234,此元素的 "mustUnderstand" 属性的值是 "1"。

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

actor 属性

通过沿着消息路径经过不同的端点,SOAP 消息可从某个发送者传播到某个接收者。并非 SOAP 消息的所有部分均打算传送到 SOAP 消息的最终端点,不过,另一个方面,也许打算传送给消息路径上的一个或多个端点。

SOAP 的 actor 属性可被用于将 Header 元素寻址到一个特定的端点。

语法

soap:actor="URI" 

实例

  
  
<? 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 >
< m:Trans
xmlns:m ="http://www.w3schools.com/transaction/"
soap:actor
="http://www.w3schools.com/appml/" >
234
</ m:Trans >
</ soap:Header >

...
...

</ soap:Envelope >

mustUnderstand 属性

SOAP 的 mustUnderstand 属性可用于标识标题项对于要对其进行处理的接收者来说是强制的还是可选的。

假如您向 Header 元素的某个子元素添加了 "mustUnderstand="1",则它可指示处理此头部的接收者必须认可此元素。假如此接收者无法认可此元素,则在处理此头部时必须失效。

语法

soap:mustUnderstand="0|1"

实例

  
  
<? 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 >
< m:Trans
xmlns:m ="http://www.w3schools.com/transaction/"
soap:mustUnderstand
="1" >
234
</ m:Trans >
</ soap:Header >

...
...

</ soap:Envelope >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值