如何在mule studio中将空节点作为SOAP请求的一部分发送?
我正在尝试使用Web服务连接器在mule studio中配置流。端点所期望的SOAP主体如下所示:如何在mule studio中将空节点作为SOAP请求的一部分发送?,soap,mule,mule-studio,Soap,Mule,Mule Studio,我正在尝试使用Web服务连接器在mule studio中配置流。端点所期望的SOAP主体如下所示: <soapenv:Body> <v4:readFields> <filter> <type>?</type> <id>?</id> <name> <operator>?</operator>
<soapenv:Body>
<v4:readFields>
<filter>
<type>?</type>
<id>?</id>
<name>
<operator>?</operator>
<value>?</value>
</name>
</filter>
<pageNumber>?</pageNumber>
</v4:readFields>
</soapenv:Body>
节点本身是必需的,但内容是可选的,因此我想让我的流发送一个正文,如:
<soapenv:Body>
<v4:readFields>
<filter />
<pageNumber>1</pageNumber>
</v4:readFields>
</soapenv:Body>
是否有方法设置消息负载以发送此请求
运行Anypoint Studio 5.1.0和Mule ESB 3.6。
我的当前流配置:
<flow name="GetFieldInfo">
<http:listener config-ref="localhost" path="/fields" doc:name="HTTP"/>
<enricher source="#[payload]" target="#[flowVars.sessionId]" doc:name="GetSessionId">
<flow-ref name="GetSessionId" doc:name="Login"/>
</enricher>
<data-mapper:transform config-ref="Xml_loginResponse__To_Xml_sessionHeader_" input-ref="#[flowVars["sessionId"]]" target="#[message.outboundProperties["soap.sessionHeader"]]" doc:name="Set Session Header"/>
<ws:consumer config-ref="BrontoAPI" operation="readFields" doc:name="Web Service Consumer"/>
<echo-component doc:name="Echo"/>
</flow>
您可以使用mule解析模板发送带有变量数据的静态xml 样本:
<soapenv:Body>
<v4:readFields>
<filter />
<pageNumber>#[payload]</pageNumber>
</v4:readFields>
</soapenv:Body>
您可以在此处找到文档Mule版本?流量配置?在问题中添加了版本和当前配置。谢谢!很难知道这里发生了什么,尤其是当执行命中ws:consumer时,如果看不到消息负载的正确性。Mule目前发送什么?具有空子元素的筛选器元素?在该配置中,由于有效负载为空,它将中断。流中的enricher和datamapper只接触soap头,而不是消息负载。如果我使用变量->数据映射器在soap正文中设置页码,它将因无法验证参数筛选器而中断。调试器只是将我的有效负载显示为字节数组,所以我不知道实际发生了什么。什么会使有效负载无效?如果在ws:consumer之前添加一个记录器,它会将负载记录为null吗?