這基本上讓我無所適從,已經將近一個星期。我正在研究公司架構的一部分,試圖讓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方法?