В 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') <= 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'),'&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"
}
]
}