WSO2 EI/ESB:将负载工厂中的负载附加到后端调用中的路径参数

WSO2 EI/ESB:将负载工厂中的负载附加到后端调用中的路径参数,wso2,wso2esb,esb,wso2ei,ei,Wso2,Wso2esb,Esb,Wso2ei,Ei,我的有效载荷工厂如下所示: <payloadFactory media-type="json"> <format>[{"value" : 1},{"value" : 2},{"value" : 3}]</format> <args/> </payloadFactory> <iterate expression="json-eval($)" id="iterate-over-nameAddress">

我的有效载荷工厂如下所示:

<payloadFactory media-type="json">
    <format>[{"value" : 1},{"value" : 2},{"value" : 3}]</format>
    <args/>
</payloadFactory>

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

[{“值”:1},{“值”:2},{“值”:3}]
在上面的代码中,在后端调用中,我希望路径参数“value+{uri.var.value}”根据迭代表达式动态更改。对于每次迭代,路径参数应该像value1、value2、value3…一样更改


如何实现这一点?

由于您使用虚拟负载进行迭代,因此可以尝试以下操作。不是将值设为1、2、3,而是将整个值放在虚拟有效负载本身中

<payloadFactory media-type="json">
        <format>[{"value" : "value1"},{"value" : "value2"},{"value" : "value3"}]</format>
        <args/>
     </payloadFactory>
     <iterate expression="json-eval($)">
        <target>
           <sequence>
              <property name="uri.var.value" expression="json-eval($.value)"/>
              <call>
                 <endpoint>
                     <http method="get" uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed/{uri.var.value}/address"/>
                 </endpoint>
             </call>
           </sequence>
        </target>
     </iterate>

[{“值”:“值1”},{“值”:“值2”},{“值”:“值3”}]

正如我在iterate中使用iterate一样,总体上面临问题。iterate中iterate的聚合表达式应该是什么?