В Wso2 EI 6.2, каков механизм разбиения на страницы для остальных apis и агрегировать ответ

Я пытаюсь позвонить (Shopify Orders APIs) разбитый на страницы REST API. И нужно объединить все ответы, нужно один ответ. Но не могу найти посредника для нумерации страниц или подобного способа сделать это.

Я работал вокруг, я рекурсивно вызываю ту же последовательность и выполнял нумерацию страниц. У меня проблема в том, что агрегатор не работает так, как я ожидал. Он не агрегировал разбитые на страницы ответы в один ответ.

Здесь я приложил код последовательности ESB и тело ответа Shopify

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="OrderPaginationSequence" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
  <log level="custom">
    <property name="hit_text" value="### Shopify All Order Pagination Sequence ###"/>
    <property expression="get-property('pageCount')" name="pageCount"/>
    <property expression="get-property('synapse_it_count')" name="synapseCount"/>
  </log>
  <filter description="" regex="true" source="get-property('synapse_it_count') &lt;= get-property('pageCount') ">
    <then>
      <property expression="get-property('synapse_it_count')+1"
        name="synapse_it_count" scope="default" type="STRING"/>
      <property description="URL Expression"
        expression="fn:concat('/','orders.json?page=',get-property('synapse_it_count'),'&amp;limit=250')"
        name="uri.var.url_expression" scope="default" type="STRING"/>
      <log level="custom">
        <property expression="get-property('uri.var.url_expression')" name="Shopify Order Paggiing Sequence Sequence"/>
      </log>
      <call-template description="" target="SeqTempShopifyApi"/>
      <log level="custom"/>
      <iterate expression="//orders" id="orderPaginationItr" sequential="true">
        <target>
          <sequence>
            <log level="custom">
              <property expression="$body" name="hit_text"/>
            </log>
          </sequence>
        </target>
      </iterate>
      <aggregate id="orderPaginationItr">
        <completeCondition timeout="10">
          <messageCount max="-1" min="-1"/>
        </completeCondition>
        <onComplete expression="//orders">
          <log level="custom">
            <property name="message response" value=""/>
          </log>
        </onComplete>
      </aggregate>
      <sequence key="OrderPaginationSequence"/>
    </then>
    <else/>
  </filter>
</sequence>  

Документация API заказа Shopify

Shopify Ответ на заказ

{
  "orders": [
    {
      "id": 450789469,
      "email": "bob.norman@hostmail.com"
    }
  ]

}

0 ответов

Другие вопросы по тегам