SOAP Header中的mustUnderstand属性

Posted siren27

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SOAP Header中的mustUnderstand属性相关的知识,希望对你有一定的参考价值。

  最近复习服务计算相关课程,讲到SOAP Header属性里的mustUnderstand属性。这里简单的说一下我对mustUnderstand的理解。

  在soap中,header是可选项,header由header blocks(header entities)组成。其实header项是可选的,并不是必须的。header让处于ultimate node之前的intermediaries能够对信息进行处理。能够为soap增加事务性的支持,比如路径啊,认证等等。这些都是用户自己定义的。

  再来说mustUnderstand。mustUnderstand属性是header三种属性之一,其他两个是actor和encodingStyle。关于mustUnderstand,ppt里讲“Receiver mode cannot handle mustUnderstand SOAP header block”。我怀疑这里应该是node而不是mode。。。mustUnderstand事实上是对intermediary的要求,要求节点必须能够处理属性信息,不然就会返回fault

<env:Body>
    <env:Fault>
        <faultcode>MustUnderstand</faultcode>
        <faultstring>
            One or more mandatory headers not understand
        </faultstring>
    </env:Fault>
</env:Body>

而且不能忽略掉。说到底,mustUnderstand要求中间节点必须能对某一个属性进行处理。否则就会报错。

以上是关于SOAP Header中的mustUnderstand属性的主要内容,如果未能解决你的问题,请参考以下文章

Web Services使用SOAP Header

SOAP + XML - HttpURLConnection中的响应

webservice客户端如何送<soap:header>信息

PHP SOAP HEADER构造(wsse)

2.SOAP 语法

HTTP 标头或 SOAP 标头中的 WCF 肥皂操作?