如何在WSO2 EIESB中实现顺序后端调用?

问题描述 投票:0回答:1

我想在WSO2 Integration Studio中实现连续的后端调用。

在第一次后端调用后,我想把第一次后端调用的响应中的一些字段发送到第二次后端调用。

我试着在http后端调用后的for-each循环中使用payload factory mediator,但它只给出最后一个对象。

有什么其他方法可以实现吗?

wso2 wso2esb wso2ei
1个回答
1
投票

在这里你不需要foreach循环。你可以实现一个服务链模式。你可以使用 PayloadFactory 调解器创建一个 Payload,以便在第二次调用中使用第一次调用的响应值。请看一下下面的示例。

<api xmlns="http://ws.apache.org/ns/synapse" name="ServiceChaining" context="/servicechain">
   <resource methods="GET">
      <inSequence>
         <call>
            <endpoint>
               <http uri-template="http://www.mocky.io/v2/5eb1cf1d320000749428f99e"/>
            </endpoint>
         </call>
         <payloadFactory media-type="json">
            <format>{"Hello" : {"test1" :  "$1", "test3": "$2"}}</format>
            <args>
               <arg evaluator="json" expression="$.key1"/>
               <arg evaluator="json" expression="$.key3"/>
            </args>
         </payloadFactory>
         <call>
            <endpoint>
               <http method="POST" uri-template="http://www.mocky.io/v2/5185415ba171ea3a00704eed"/>
            </endpoint>
         </call>
         <respond/>
      </inSequence>
   </resource>
</api>
© www.soinside.com 2019 - 2024. All rights reserved.