我有2个子wsse:Security in soap:Header并试图删除一个。我尝试用充实调解员来做这件事,但它没有替换soap:Header,而是删除了它。下面是一个简单的例子:
<inSequence>
<enrich>
<source type="inline" clone="true">
<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<foo/>
</soapenv:Header>
</source>
<target xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xpath="//soapenv:Header"/>
</enrich>
<log level="full"/>
</inSequence>
日志中介记录没有Header的消息。如果我在target action="child"中添加,那么一切都会像预期的那样工作。所以我有两个问题:1. 为什么富集调解员会这样做呢?2. 我怎么能改变头部与其他方式?
您应该使用header中介来更改SOAP header
看看那里:https://docs.wso2.com/display/ESB481/Header+Mediator
添加自定义标题的示例:
<header xmlns:myns="http://com/header" name="myns:MyHeader" value="0"/>
删除示例:
<header xmlns:myns="http://com/header" name="myns:MyHeader" action="remove"/>
您可以使用此中介来更改http标头:只需添加一个值等于'transport'的scope属性