mule esb 没有找到请求的侦听器:(GET)/echo

mule esb No listener found for request : (GET) /echo

尝试 mulesoft 教程的简单示例时,我没有得到教程中解释的结果

教程link:

https://docs.mulesoft.com/mule-user-guide/v/3.3/configuring-an-endpoint

视频link:

http://blogs.mulesoft.com/dev/anypoint-platform-dev/getting-started-with-mule-free-training-videos-tutorials/

流量:

我已经像这样配置了 HTTP 元素:

对于 Listner:

但是当我在浏览器中尝试获取:

http://localhost:8081/echo

这个没有显示/echo

它在控制台中显示此消息:

INFO  2016-12-13 12:34:22,652 [[echo2].HTTP_Listener_Configuration.worker.01] org.mule.module.http.internal.listener.HttpListenerRegistry: No listener found for request: (GET)/echo

有人知道吗?

看起来你指的是 3.3 版本的文档/视频教程。好像你用的是 3.8 版本的 mule 运行 时间和最新的 any point studio,所以请参考 3.8 版本的文档。新版本中的功能可能已更改。

我重新创建了您的应用程序,这是因为您缺少 path=/echo 组件上的 http:listener 属性。

请比较我的工作配置。

<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="echo-testFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/echo" doc:name="HTTP"/>
    <logger message="Inside #[flow.name] with payload #[payload]" level="INFO" doc:name="Logger"/>
    <echo-component doc:name="Echo"/>
</flow> 

由于 echo 组件显示 payload.Hence 的内容,您无法在路径中看到 log.Also 中的任何内容,而不是“/”,您必须使用“/*”。 让我知道结果。

最后我创建了流程 显示了 Echo component 在最新的 mule 版本 (3.8)

中的运行情况

Echo 组件用于记录消息,return 负载作为结果

工作流程如下:

所以我添加了转换器 Set Payload 以便能够使用接收到的值设置有效负载并将其设置如下:

对于 Echo 组件,我们只需添加它:

HTTP 端点:

使用 Firefox 测试时的结果:

注:

Echo 组件自 mule ver. 3.5 起已弃用,但 仍然有效