Как я могу запретить 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 - двойное кодирование значения). Значение будет принято "как есть".