在Mulesoft 4中,如何让http侦听器接受所有传入消息,而不考虑路径?

在Mulesoft 4中,如何让http侦听器接受所有传入消息,而不考虑路径?,mule,mulesoft,Mule,Mulesoft,我的Mule应用程序有一个HTTP侦听器。我希望接收所有传入消息,然后根据路径路由消息,例如 我创建了具有以下属性的侦听器: 主持人: 端口:8080 路径:/ 然后我添加了一个选择路由器,我想询问传入路径并根据路径路由消息。。。例如 当我在没有路径的情况下运行应用程序时。。。但当我用其中一条路径运行它时,它会出错。。。“没有为/path3配置侦听器终结点” 有没有办法配置Mule HTTP侦听器以接受任何路径 谢谢如果不使用侦听器的绝对路径,就无法命中端点 在您的情况下,您已经使用了路径

我的Mule应用程序有一个HTTP侦听器。我希望接收所有传入消息,然后根据路径路由消息,例如

我创建了具有以下属性的侦听器:
主持人:
端口:8080
路径:/

然后我添加了一个选择路由器,我想询问传入路径并根据路径路由消息。。。例如




当我在没有路径的情况下运行应用程序时。。。但当我用其中一条路径运行它时,它会出错。。。“没有为/path3配置侦听器终结点”

有没有办法配置Mule HTTP侦听器以接受任何路径


谢谢

如果不使用侦听器的绝对路径,就无法命中端点

在您的情况下,您已经使用了
路径:/

因此,这将不允许未声明的路径,如
path:/path1

您可以尝试
path:/*
以允许未声明的路径

但是,您可以有多个HTTP侦听器,每个侦听器都有自己的唯一路径,但使用相同的侦听器配置(主机、端口等)

因为您需要为不同的路径选择不同的选择路径,所以最好不要使用多条路径,因为您可能有多条路径

您不应该对路径和传入消息进行一对一(1->1)函数映射(如数学中的映射)

/path
基本上是API端点的资源

如果发现传入消息的数量为“n”,则必须创建“n”个路径(资源)和“n”个HTTP侦听器(使用相同的配置)。但是,这不是一个好办法

使用uriParams或queryParams只监听一条路径,然后根据这些传入参数路由消息

http://myhost.com:8080/basePath?route=1 // relevant body
http://myhost.com:8080/basePath?route=2 // relevant body
http://myhost.com:8080/basePath?route=3 // relevant body

如果不使用侦听器的绝对路径,则无法命中端点

在您的情况下,您已经使用了
路径:/

因此,这将不允许未声明的路径,如
path:/path1

您可以尝试
path:/*
以允许未声明的路径

但是,您可以有多个HTTP侦听器,每个侦听器都有自己的唯一路径,但使用相同的侦听器配置(主机、端口等)

因为您需要为不同的路径选择不同的选择路径,所以最好不要使用多条路径,因为您可能有多条路径

您不应该对路径和传入消息进行一对一(1->1)函数映射(如数学中的映射)

/path
基本上是API端点的资源

如果发现传入消息的数量为“n”,则必须创建“n”个路径(资源)和“n”个HTTP侦听器(使用相同的配置)。但是,这不是一个好办法

使用uriParams或queryParams只监听一条路径,然后根据这些传入参数路由消息

http://myhost.com:8080/basePath?route=1 // relevant body
http://myhost.com:8080/basePath?route=2 // relevant body
http://myhost.com:8080/basePath?route=3 // relevant body

您可以这样定义您的HTTP侦听器

<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/*"/>

路径的
/*
值将允许任何请求通过


注意:如果您使用的是RAML和APIKIT,这将不起作用。您将得到
APIKIT:NOT\u FOUND
错误,因为在使用APIKIT时,必须在RAML规范中定义所有允许的路径。

您可以这样定义HTTP侦听器

<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/*"/>

路径的
/*
值将允许任何请求通过


注意:如果您使用的是RAML和APIKIT,这将不起作用。您将得到
APIKIT:NOT_FOUND
错误,因为在使用APIKIT时,必须在RAML规范中定义所有允许的路径。

告诉我。您的API是否使用RAML定义?另外,您希望处理的最大路径或传入消息数是多少?如果您有一个RAML定义和有限的路径(资源),您的mule生成的流将由APIkit路由器自动处理,路径为:/*,每个资源都有单独的流。下一步,你可以使用一些标志,根据自己的喜好将ref流到你的选择。告诉我。您的API是否使用RAML定义?另外,您希望处理的最大路径或传入消息数是多少?如果您有一个RAML定义和有限的路径(资源),您的mule生成的流将由APIkit路由器自动处理,路径为:/*,每个资源都有单独的流。接下来,您可以使用一些标志将ref流到您的选择。