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要求中间节点必须能对某一个属性进行处理。否则就会报错。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM