Я пытаюсь добавить две полезные нагрузки json в одну, но получаю ошибку. Я использую Scatter Collection, где я получаю несколько полезных данных и объединяю полезные данные в сообщения преобразования. Ошибка: исключение при выполнении:
полезная нагрузка [0] map (bookListing) -> using (id = bookListing.bookId) {
Несоответствие типов для оператора 'map'
найдено: строка,: функция
требуется: массив,: функция.
код:
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<file:connector name="file-connector-config" autoDelete="false" streaming="true" validateConnections="true" doc:name="File" />
<flow name="muleRequester">
<http:listener config-ref="HTTP_Listener_Configuration" path="/requester" doc:name="HTTP"/>
<scatter-gather doc:name="Scatter-Gather">
<processor-chain>
<mulerequester:request resource="file://src/main/resources/input1" returnClass="java.lang.String" doc:name="Retrieve File1"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</processor-chain>
<processor-chain>
<mulerequester:request resource="file://src/main/resources/input2" returnClass="java.lang.String" doc:name="Retrieve File2"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</processor-chain>
</scatter-gather>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
payload[0] map (bookListing) -> using (id = bookListing.bookId) {
bookId: id,
title: bookListing.title,
price: bookListing.price,
(payload[1] filter ($.*bookId contains id) map (bookAuthor) -> {
author:bookAuthor.author
})
}]]></dw:set-payload>
</dw:transform-message>
<file:outbound-endpoint responseTimeout="10000" doc:name="File" outputPattern="#[function:systime].json" path="src/main/resources/output"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
полезная нагрузка 1 -
[
{
"BookID": "101",
"title": "всемирная история",
«Цена»: «19,99»
},
{
"BookID": "202",
"title": "на свежем воздухе",
«Цена»: «15,99»
}
]
полезная нагрузка 2-
[
{
"BookID": "101",
"автор": "Джон Доу"
},
{
"BookID": "202",
"автор": "джейн доу"
}
]
Ожидаемый результат-
[
{
"bookId": "101",
"title": "всемирная история",
"год": "2017",
"isbn": "11111",
«цена»: «19,99»,
"автор": "Джон Доу"
},
{
"bookId": "202",
"title": "на свежем воздухе",
"год": "2016",
"isbn": "22222",
«цена»: «15,99»,
"автор": "джейн доу"
}
]