java - 在 Apache Camel 中使用相同的 url 但不同的 http 方法发出 REST 请求时没有响应

标签 java apache rest apache-camel

我是新手,正在使用 Apache Camel 和 RESTful 服务。当我使用相同的 url 但不同的 http 方法发出请求时,我得到

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/

相关文章:

java - Hibernate用俄语创建记录显示为问号mysql

java - Storm Spout/拓扑性能

java - 从文本文件读取并创建对象数组 Java

java - 如何在数据库连接中正确使用try-with-resources?

java - 限制 do-while 运行 7 次,除非给出正确的输入

apache - 没有 SSL 证书设置的虚拟主机重定向到其他使用 SSL 的虚拟主机

linux - 从远程服务器连接到 Docker 中的 Apache Web 服务器

java - HTTP 状态 500 - 内部服务器错误 - 管道损坏

rest - 使用 Rest API 和 JAVA 进行 Salesforce 身份验证

java - 从多个 REST 端点组装 Swagger 文档的最佳方式