这基本上让我不知所措,并且已经将近一个星期。我正在研究公司架构的一部分,试图将 REST 全部设置好。javax.ws.rs 包中没有两种方法 - SEARCH 和 PATCH。我在我们的项目中创建了以下接口来实现搜索:(主要是示例的复制/粘贴)
/** imports and such as appropriate **/
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@HttpMethod("SEARCH")
public @interface SEARCH {
}
如果直接调用它,使用它的代码可以完美地工作。但是,与主服务对话的 Web 服务每次都会失败500 Invalid HTTP method: SEARCH
。因此,需要明确的是,有两个支持 Web 的服务。使用上述代码的第一个工作正常。第二个,应该只是第一个服务的代理失败。
有问题的第二个服务在码头上运行。进行代理的 servlet 是 org.mortbay.servlet.ProxyServlet 的扩展——唯一的覆盖是在 init 和 proxyHttpUrl 上进行一些 URL 调整。我知道第二个服务没有将响应传递给第一个,因为我可以关闭第一个,而第二个仍然给我那个错误。
我的问题是,我是否缺少启用“自定义”(即不在 javax.ws.rs 包中)http 方法的配置片段?