Как реализовать последовательные внутренние вызовы в WSO2 EI / ESB? - PullRequest
1 голос
/ 05 мая 2020

Я хочу реализовать последовательные внутренние вызовы в WSO2 Integration Studio.

После первого внутреннего вызова я хочу отправить несколько полей из ответа от первого внутреннего вызова второму внутреннему вызову.

Я попытался использовать фабрику полезной нагрузки посредник внутри for-each l oop после внутреннего HTTP-вызова, но он выдает только последний объект.

Любой другой способ сделать это?

1 Ответ

1 голос
/ 05 мая 2020

Здесь foreach l oop не требуется. Вы можете реализовать шаблон цепочки услуг. Вы можете создать полезную нагрузку с помощью посредника PayloadFactory для использования во втором вызове, который использует значения из ответа первого вызова. Взгляните на следующий образец.

<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>
...