我正在尝试使用 Web 服务连接器在 mule studio 中配置流。端点期望的 SOAP 正文如下所示:
<soapenv:Body>
<v4:readFields>
<filter>
<type>?</type>
<id>?</id>
<name>
<operator>?</operator>
<value>?</value>
</name>
</filter>
<pageNumber>?</pageNumber>
</v4:readFields>
</soapenv:Body>
<filter>
节点本身是必需的,但内容是可选的,所以我想让我的流发送一个正文,如下所示:
<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 parse模板发送带有变量数据的静态XML
样本:
<soapenv:Body>
<v4:readFields>
<filter />
<pageNumber>#[payload]</pageNumber>
</v4:readFields>
</soapenv:Body>
您可以在此处找到文档 https://developer.mulesoft.com/docs/display/current/Parse+Template+Reference