Как я могу запретить mule кодировать параметр запроса?

В HTTP-запрос я добавляю токен в качестве параметра запроса. Кажется, что mule кодирует значение. - Если я добавлю параметр, mule закодирует его так, как он неверен. - Если я добавлю уже закодированный параметр, mule будет дважды кодировать его и, следовательно, больше не будет использоваться.

Таким образом, вопрос заключается в следующем: есть ли способ или обходной путь, чтобы мул не кодировал URL-параметр запроса?

Пример параметра: {AES}ZEoksxIg484magPtWwNUUQ==;iT0kI2HsqGkh%2Bdc2baW2B4dNR2vouKkWQsDTdbMP8us=

1 ответ

Решение

Мой коллега нашел обходной путь для этого, поэтому я делюсь этим здесь.

Очевидно, вы можете установить переменную перед запросом HTTP и добавить закодированное вручную значение. Давайте назовем это ourTokenVariable В моем примере выше это было бы %7BAES%7DZEoksxIg484magPtWwNUUQ%3D%3D%3BiT0kI2HsqGkh%252Bdc2baW2B4dNR2vouKkWQsDTdbMP8us%3D

После этого вы можете использовать эту вновь созданную переменную непосредственно в пути URL. Например: /example/someapi?someToken=[#flowvars.ourTokenVariable]

Таким образом, вам не нужно использовать uri-param или же query-param больше (где mule - двойное кодирование значения). Значение будет принято "как есть".

Другие вопросы по тегам