在mule中访问forEach内部的变量
我有两个问题在mule中访问forEach内部的变量,mule,mule-studio,dataweave,mule-esb,Mule,Mule Studio,Dataweave,Mule Esb,我有两个问题 假设我在forEach中声明了两个变量,比如flowVars.ABC和flowVars.DEF,我如何访问forEach块之外的这两个变量 每个变量都有一个JSON负载,如何将这两个变量的数据添加到单个JSON负载中 有人能帮我吗?我无法访问foreach内部的变量并添加2个JSON 这是我的示例代码 <flow name="test"> <foreach doc:name="For Each"> <scatte
forEach
中声明了两个变量,比如flowVars.ABC
和flowVars.DEF
,我如何访问forEach
块之外的这两个变量<flow name="test">
<foreach doc:name="For Each">
<scatter-gather doc:name="Scatter-Gather">
<set-variable variableName="ABC" value="#[payload]" mimeType="application/json" doc:name="ABC"/>
<set-variable variableName="DEF" value="#[payload]" mimeType="application/json" doc:name="DEF"/>
</scatter-gather>
</foreach>
<set-payload value="#[flowVars.ABC + flowVars.DEF]" mimeType="application/json" doc:name="adding 2 vars"/>
</flow>
您需要了解作用域是如何与
foreach
一起工作的。foreach
范围内设置的任何变量在该范围外都不可用。但是,在foreach
范围外设置的变量(例如foreach
之前的set变量)将在foreach
范围内可用。这将有助于你解决问题。我之所以使用“分散-聚集”是因为在您的示例中,它实际上没有任何用途:
<flow name="test">
<set-variable variableName="ABC value="#[payload] mimeType="application/json" doc:name="ABC"/>
<set-variable variableName="DEF value="#[payload] mimeType="application/json" doc:name="DEF"/>
<foreach doc:name="For Each">
<set-variable variableName="ABC" value="#[payload]" mimeType="application/json" doc:name="ABC"/>
<set-variable variableName="DEF" value="#[payload]" mimeType="application/json" doc:name="DEF"/>
</foreach>
<set-payload value="#[flowVars.ABC ++ flowVars.DEF]" mimeType="application/json" doc:name="adding 2 vars"/>
</flow>
您使用的是什么版本的mule?你想在这里做什么?您能提供输入和预期输出的示例吗?嗨,Jerney,Mule 3.9 Runtime,我有大量数据,我必须将这些数据并行插入SFDC 2(a&B)indivudial对象。为此,我使用了分散收集和后期插入记录,我用适当ID映射的SFDC响应在那里,我可以过滤故障记录。。在forEach中的整个过程…,这里我有两个有效负载(仅具有A&B故障记录)。我必须获取这两个JSON有效负载并将其附加到CSV文件中。在这里使用transformer如何将这两个有效负载附加到单个有效负载中??“分散-聚集”呼叫两次0和1,我想作为一次呼叫。
%dw 2.0
output application/json
---
if (not isEmpty(payload))
payload[-1] ++ payload[-1]
else
[]