在每个内部添加多个有效负载,并提供具有所有有效负载的最终有效负载

时间:2016-03-22 07:22:53

标签: web-services foreach mule mule-component anypoint-studio

我在for each.In记录器中多次点击SOAP Web服务我能够逐个获得所有响应,但我想将所有响应添加到单个有效负载中,然后将其作为有效负载发送。可以这样做吗?请建议

3 个答案:

答案 0 :(得分:0)

对于一个简单的解决方案..在AggregatedPayload之前定义变量说for-each并继续向其payload追加

<set-variable variableName="aggregatedPayload" value="" />
....

<foreach....>
.....
   <set-variable value="#[aggregatedPayload + payload]" variableName="aggregatedPayload/>
</foreach>

答案 1 :(得分:0)

如果有效负载是字符串,则上述解决方案有效。但是,在您的情况下,每次调用的有效负载都是SOAP响应,最好在循环之前创建一个ArrayList并将每个响应插入到列表中。在循环之后,您可以按照您需要的方式处理响应。

Gijish

答案 2 :(得分:0)

您可以在组件scatter-gather中一起使用组件combine collection来管理多个有效负载。它非常简单,对您有所帮助。 有关详细信息,请参阅this article