我是新手,正在使用 Apache Camel 和 RESTful 服务。当我使用相同的 url 但不同的 http 方法发出请求时,我得到 p>
CamelHttpTransportServlet - No consumer to service request org.apache.catalina.connector.RequestFacade
这是我的web.xml的一些内容
<servlet>
<display-name>Camel Http Transport Servlet</display-name>
<servlet-name>CamelServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CamelServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
这是我的 RouteBuilder 的代码
rest("/user").description("User rest service")
.consumes("application/json").produces("application/json")
.get("/{userId}").description("Get user with specified userId")
.to("bean:userService?method=getUser(${header.userId})")
.delete("/{userId}").description("Delete user with specified userId")
.to("bean:userService?method=deleteUser(${header.userId})");
现在,当我按以下顺序提出请求时:
1)GET http://localhost:8090/foo/rest/user/3
2)DELETE http://localhost:8090/foo/rest/user/3
在第一个请求期间,我得到了预期的 JSON 数据
{
"userName" : "test",
"userId" : 3,
}
现在当我调用第二个请求DELETE http://localhost:8090/foo/rest/user/3
时后
第一个,它给了我以下内容:
CamelHttpTransportServlet - No consumer to service request org.apache.catalina.connector.RequestFacade@
所以,如果有人能弄清楚我做错了什么。
最佳答案
我相信错误是在 Servlet 中。
请检查是否有一个方法deleteUser。
关于java - 在 Apache Camel 中使用相同的 url 但不同的 http 方法发出 REST 请求时没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27396477/