Мне нужно создать HashMap внутри сообщения преобразования в Mule 4 для отправки в службу.
Я пытался сделать что-то вроде этого:
%dw 2.0
import HasMap from java!java::util::HashMap
output application/java
---
HasMap ( <'data': write(payload, "application/json")>,
<'attribute1': 'att1'>,
<'attribute2': 'att2'>,
<'attribute3': 'att3'> )
потому что, поскольку я успешно создал строку с использованием java-библиотек, я думаю, что могу сделать то же самое для HashMap, но он все еще не работает:
%dw 2.0
import valueOf from java!java::lang::String
output application/java
---
valueOf({
data: write(payload, "application/json"),
atrribute1: 'att1',
atrribute2: 'att2',
atrribute3: 'att3' })
Вначале я пытался просто отобразить вот так:
%dw 2.0
output application/java
---
{
"data": write(payload, "application/json"),
"attribute1": "att1",
"attribute2": "att2",
"attribute3": "att3"
}
но проблема в том, что сервис получил что-то вроде этого:
'\ xac \ xed \ x00 \ x05sr \ x00 \ x17java.util.LinkedHashMap4 \ xc0N \\ x10l \ xc0 \ xfb \ x02 \ x00 \ x01Z \ x00 \ x0baccessOrderxr \ x00 \ x11java.util.HashMap \ x0 \ x11java.util.HashMap0 \ x0 \ xc1 \ xc3 \ x16` \ xd1 \ x03 \ x00 \ x02F \ x00 \ nloadFI \ x00 \ tthresholdxp? @ \ x00 \ x00 \ x00 \ x00 \ x00 \ x0cw \ x08 \ x00 \ x00 \ x00 \ x10 \ x00 \ x00 \ x00 \ x06t \ x00 \ x04datat \ x06 \ x19 {\ n "данные": "{}", "attribute1": "att1", ..... '
Есть идеи, как создать обычную хеш-карту?
Ожидаю получить:
'data': '{....}', 'attribute1': 'att1', 'attribute2': 'att2', 'attribute3': 'att3'
application/json
в начале и проверить вывод - person Ven   schedule 17.09.2019