Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mule中访问forEach内部的变量_Mule_Mule Studio_Dataweave_Mule Esb - Fatal编程技术网

在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
    块之外的这两个变量

  • 每个变量都有一个JSON负载,如何将这两个变量的数据添加到单个JSON负载中

  • 有人能帮我吗?我无法访问foreach内部的变量并添加2个JSON

    这是我的示例代码

    <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
      []