Ошибка деформированной конечной точки мула

Я новичок в Mule и пытаюсь отправить запрос GET с помощью конечной точки HTTP, но получаю следующую ошибку

"Конечная точка шаблона" http://api.mymemory.translated.net:80/get?q=#%5bmessage.inboundProperties.get ('http.relative.path')] & langpair = EN | IT "преобразовано в некорректную конечную точку" http://api.mymemory.translated.net:80/get?q=hello&langpair=EN|IT ". Не удалось направить событие через конечную точку: org.mule.endpoint.DynamicOutboundEndpoint"

Я пробовал следующие конфигурации:

get?q=hello&langpair=EN%7CIT [РАБОТАЕТ]

get?q=#[message.inboundProperties.get('http.relative.path')]&langpair=EN%7CIT [НЕ РАБОТАЕТ]

get?q=#[message.inboundProperties.get('http.relative.path')]&langpair=EN|IT [НЕ РАБОТАЕТ]

Трассировка стека, кажется, указывает на проблему с символом "|" персонаж.

Мой поток выглядит следующим образом:

<flow name="my_first_projectFlow1" doc:name="my_first_projectFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/> <http:outbound-endpoint exchange-pattern="request-response" host="api.mymemory.translated.net" port="80" path="get?q=#[message.inboundProperties.get('http.relative.path')]&amp;langpair=EN%7CIT" method="GET" doc:name="HTTP"/> <echo-component doc:name="Echo"/> </flow>


person Habib    schedule 22.04.2014    source источник


Ответы (1)


Попробуйте заменить символ вертикальной черты ("|") на выражение MEL #[java.net.URLEncoder.encode('|', 'UTF-8')].

person Anton Kupias    schedule 22.04.2014