2016-01-13 3 views
1

Что я здесь делаю неправильно? Я хочу, чтобы установить полезную нагрузку Mule сообщений на карту, содержащие несколько значений:Добавление переменной потока в полезную нагрузку Mule

<set-payload value="#[['STATUS':'OKAY','NEXT':'Test','TEXT':flowVars['myVariable']]]"/> 

Выход этого:

{STATUS=OKAY, NEXT=Test, TEXT=foo} 

Я Ожидал:

{STATUS:OKAY, NEXT:Test, TEXT:foo} 

Что случилось ?

+0

Фактическая и ожидаемые результаты в точности то же самое? –

+0

нет, я хочу ':' вместо '=' –

+0

Вы можете использовать код java или groovy для скрытия вывода. Используйте функцию замены и измените ее в соответствии с ожиданием. –

ответ

0

Ваш синтаксис верен. Причина, по которой он использует «=», - это то, как Mule регистрирует карту. Полезная нагрузка по-прежнему является Картой. Если вы хотите «:» вы можете преобразовать его в Json с помощью <object-to-json-transformer /> но будет выводить это так:

{"STATUS":"OKAY", "NEXT":"Test", "TEXT":"foo"} 
Смежные вопросы