У меня есть входящий запрос GET на мой локальный хост. Я извлек все параметры URI из запроса и сохранил их в переменных сеанса. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь установить карту в качестве полезной нагрузки, используя значения сеанса.
При поиске правильного метода для этого я наткнулся на this а>.
Описанный здесь метод верен и работает в следующем случае, когда я жестко кодирую пару ключ-значение.
<set-payload value="#[['Test' : 'hjhj' ]]" encoding="UTF-8"/>
Распечатывается следующее сообщение:
Payload : {Test=hjhj}
Payload Type : java.util.HashMap
Но когда я использую тот же метод и пишу следующий код, используя переменную сеанса:
<set-session-variable variableName="transactionAmount" value="#[message.inboundProperties.'http.query.params'.amount]" doc:name="Session Variable"/>
<set-payload value="#[['Test' : #[sessionVars.transactionAmount] ]]" encoding="UTF-8"/>
Сообщение, которое печатается:
Payload : {Test=[1]}
Payload Type : java.lang.String
Подскажите пожалуйста как мне побороть эту проблему. Я застрял в этом надолго.
ПРИМЕЧАНИЕ. Я использую Mule 3.9.
Заранее спасибо!!