У меня есть проблема для повторения ответа на вызов dss. У меня есть 2 сервераWSO2 ESB Iterate over DSS response (json array)
серверWSO2 ESB (4.9.0) WSO2 Application Server (5.3.0) с пакетом данных (4.3.4) функция установлена
я сделать полезную нагрузку
<payloadFactory media-type="xml">
<format>
<p:valoresReport xmlns:p="ReportsDataService">
<xs:uuid xmlns:xs="ReportsDataService">$1</xs:uuid>
</p:valoresReport>
</format>
<args>
<arg value="123456789"/>
</args>
</payloadFactory>
и сделать вызов через конечную точку
<call blocking="true">
<endpoint key="ReportsDataServiceEndPoint"/>
</call>
отклик:
<ReportRowSet xmlns="ReportsDataService">
<reportRow>
<column1>1</column1>
<column2>2</column2>
<column3>3</column3>
</reportRow>
<reportRow>
<column1>columna 1</column1>
<column2>olumna 2</column2>
<column3>columna 3</column3>
</reportRow>
</ReportRowSet>
Чтобы прочитать ответ, я изменяю де MessageType в JSon
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
и получить значение с помощью JSON-Eval.
<property expression="json-eval($.ReportRowSet.reportRow)" name="rows"
scope="default" type="STRING"/>
Я могу войти свойство
<log level="custom">
<property expression="$ctx:rows" name="ROWS"/>
</log>
выход:
[2016-05-31 16:21:38,489] INFO - LogMediator ROWS = [{"column1":1,"column3":3,"column2":2},{"column1":"columna 1","column3":"columna 3","column2":"olumna 2"}]
Но когда я пытаюсь перебирать строки, я не знаю, как это сделать (этот способ не работает)
<iterate continueParent="true" expression="$ctx:rows"
id="MyIterator" sequential="true">
<target>
<sequence>
...
также я пробовал без успех (без изменения типа сообщения):
<iterate continueParent="true" expression="//ReportRowSet/reportRow"
id="MyIterator" sequential="true">
Какая правильная форма для этой интеграции и итерации.
Я дал вам мой ДСС и последовательность:
ReportsDataService.dbs: [https://drive.google.com/open?id=0B44t8SdKZz79ellKVmpkM0t6Rmc]
GenerarReporteSequence.xml: [https://drive.google.com/open?id=0B44t8SdKZz79YlkxMnNnNm8weGs]
превосходный !!!! что работает perfec !!!!! благодаря!!! – cmarguello