我是Mule的新手并尝试使用HTTP端点发布GET请求,但我收到以下错误
“模板端点”http://api.mymemory.translated.net:80/get?q=#[message.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')]&langpair=EN%7CIT" method="GET" doc:name="HTTP"/>
<echo-component doc:name="Echo"/>
</flow>
答案 0 :(得分:0)
尝试用MEL表达式#[java.net.URLEncoder.encode('|', 'UTF-8')]
替换管道(“|”)char。