WSO2 EI / ESB:嵌套迭代器的聚合介体

时间:2020-05-19 11:32:01

标签: wso2 wso2esb esb wso2ei ei

我要在Iterate中介器中实现 Iterate中介器。之后,我将有一个Aggregate中介器处于乱序状态。

<inSequence>

    <iterate attachPath="json-eval($.Entity.names)" expression="json-eval($.Entity.names)" id="iterate-over-names" preservePayload="true">

        <target>
            <payloadFactory media-type="json">
                <format>[{"value" : 1},{"value" : 2},{"value" : 3},{"value" : 4},{"value" : 5},{"value" : 6},{"value" : 7},{"value" : 8},{"value" : 9}]</format>
                <args/>
            </payloadFactory>

            <iterate expression="json-eval($)" id="iterate-over-nameAddress">
                <call>
                    <endpoint>
                        <http method="get" uri-template="https://backend.com/{uri.var.value}"></http>
                    </endpoint>
                </call>
            </iterate>

        </target>
    </iterate>
</inSequence>


<outSequence>

    <aggregate id="iterate-over-names">
        <completeCondition>
            <messageCount max="-1" min="-1"/>
        </completeCondition>
        <onComplete expression="json-eval($.root)">
            <respond/>
        </onComplete>
    </aggregate>
</outSequence>

由于我有两个迭代的中介者,所以它们具有不同的ID。

问题:

  1. 应将哪个迭代ID分配给聚合介体以从两个迭代介体获取有效负载?外部聚集体的ID是否可以使用?

  2. 聚合表达式应该是什么,才能以以下格式获得响应?

{
    "names": {
        "address": [
            {
                "city": ""
            },
            {
                "state": ""
            }
        ]
    }
}

0 个答案:

没有答案