Последовательные внутренние вызовы в WSO2 EI / ESB - PullRequest
1 голос
/ 07 мая 2020

В моем случае ответ от первого внутреннего вызова имеет формат Массив объектов , как показано ниже:

Ответ:

"Entity": {
        "related-List": [
            {
                "fname": "abc",
                "lname": "xyz",
                "bdate": "2013-01-25",
                "accType": "Cur",
                "accNum": "54736",
                "bal": 901,
                "address": "USA"
            },
            {
                "fname": "def",
                "lname": "pqr",
                "bdate": "2013-01-25",
                "accType": "Sav",
                "accNum": "12345",
                "bal": 901,
                "address": "USA"
            },
            {
                "fname": "ghi",
                "lname": "stu",
                "bdate": "2013-01-25",
                "accType": "Dep",
                "accNum": "87654",
                "bal": 901,
                "address": "USA"
            }
]
}

** *********** /

Итак, во втором вызове я хочу использовать "accType" и "accNum" из ответа и сделать внутренний вызов для количества объекты, присутствующие в массиве ответов. Для этого мне нужно использовать Iterate или ForEach, например:

<foreach>
<call>
            <endpoint>
               <http method="POST" uri-template="http://localhost:6754/v2/{accType}/{accNum}"/>
            </endpoint>
</call>
</foreach>

OR

<iterate>
    <call>
                <endpoint>
                   <http method="POST" uri-template="http://localhost:6754/v2/{accType}/{accNum}"/>
                </endpoint>
    </call>
</iterate>

Как правильно это реализовать?

1 Ответ

5 голосов
/ 07 мая 2020

Вы не можете использовать посредников отправки или вызова внутри посредника Foreach. Следовательно, вы должны использовать посредник Iterate. Вы можете использовать выражение посредника Iterate как json -eval ($. Entity.related-List) и выполнять итерацию по массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...