я впервые преобразовываю ответ массивами json в wso2. Я создаю посредник оттока wso2, который удаляет конкретный объект json в ответе массива json
Используя посредник с полезной последовательностью, я пытался удалить объект json "цена" из массивов json. Я следовал документации по wso2, но в ее эфире я получаю пустой ответ тела или wso2 отклоняет последовательность оттока.
пример ответа:
{
"results": [
{
"name": "user",
"item": "test",
"price": {
"pricePerItem": 2.0,
"currency": "USD"
},
"stat": {
"groupId": 3,
"groupName": "DELIVERED",
}
},
{
"name": "user2",
"item": "test2",
"price": {
"pricePerItem": 4.0,
"currency": "USD"
},
"stat": {
"groupId": 4,
"groupName": "DELIVERED",
}
}
]
}
мой код оттока:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="test_outflow.xml" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<payloadFactory media-type="json">
<format>
$1
</format>
<args>
<arg evaluator="json" expression="$.results"/>
</args>
</payloadFactory>
<script language="js"><![CDATA[
var payload = mc.getPayloadJSON();
results = payload.results;
response = new Array();
for (i = 0; i < results.length; ++i) {
delete payload[i].id;
response[i] = l;
}
mc.setPayloadJSON(response);
]]></script>
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
</sequence>
ожидаемые результаты:
{
"results": [
{
"name": "user",
"item": "test",
"stat": {
"groupId": 3,
"groupName": "DELIVERED",
}
},
{
"name": "user2",
"item": "test2",
"stat": {
"groupId": 4,
"groupName": "DELIVERED",
}
}
]
}
Если у кого-либо из вас есть опытс такой ситуацией? спасибо!