WSO2 EI/ESB:将负载工厂中的负载附加到后端调用中的路径参数
WSO2 EI/ESB: Append payload from Payload Factory to Path Parameter in backend call
我有一个如下所示的有效载荷工厂:
<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>
在上面的代码中,在后端调用中,我希望路径参数“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>
我有一个如下所示的有效载荷工厂:
<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>
在上面的代码中,在后端调用中,我希望路径参数“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>