【发布时间】:2015-06-21 20:53:14
【问题描述】:
我正在尝试使用 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>
【问题讨论】:
-
骡版?流配置?
-
添加了问题的版本和当前配置。
-
谢谢!真的很难知道这里发生了什么,尤其是在执行命中
ws:consumer时没有看到消息有效负载是什么。 Mule目前发送什么?带有空子元素的filter元素? -
使用该配置它会中断,因为有效负载为空。 (流程中的丰富器和数据映射器仅接触肥皂头,而不是消息有效负载)。如果我使用变量-> 数据映射器在肥皂正文中设置 pageNumber,它将因“无法验证参数过滤器”而中断。调试器只是将我的有效负载显示为字节数组,所以我不知道实际发生了什么。
-
什么会使有效载荷无效?如果您在
ws:consumer之前添加logger,它会将有效负载记录为空吗?
标签: soap mule mule-studio