Я начинаю использовать Mule и задаю некоторые тривиальные вопросы. Вот один из них. Предположим, что вы храните адрес URL-адреса для последующего вызова процесса в файле свойств. Затем вы хотите использовать конечную точку http, указав этот URL. Он отлично работает, вы просто указываете адрес: $ {URL_ADDRESS} и все.MuleSoft - использование flowVars внутри конечной точки
Теперь, если ваш url рассчитан и установлен на flowVar, почему следующий код не работает?
<http:outbound-endpoint exchange-pattern="request-response" method="GET" address="#[flowVars['URL_ADDRESS']]" doc:name="HTTP"/>
Он бросает это исключение:
java.lang.IllegalArgumentException: Address '#[flowVars['URL_ADDRESS']]' for protocol 'http' should start with http://
Почему проверяется во время компиляции? Как сделать, чтобы установить его во время выполнения?
Также обратите внимание, что '# [flowVars.URL_ADDRESS]' или даже '# [URL_ADDRESS]' будет работать и быть более кратким. –
Спасибо Seba и David, он работает как шарм, если URL_ADDRESS определен в подпотоке. Если я определяю переменную URL_ADDRESS в другом потоке того же приложения, что и переменная сеанса, основной поток не распознает ее. – user1820620
И как вы получаете доступ к переменной при сохранении в сеансе? – Seba