Jersey REST GET正在运行,但PUT没有。请求的资源不允许使用指定的HTTP方法

时间:2017-09-15 08:39:47

标签: rest jersey put http-status-code-405

我已经在这几天打破了我的头脑。这个小小的片段工作正常(在Tomcat上使用Jersey 2.26-b03)。

sizeof (struct foo)

随后我启用了一堆泽西追踪。但是,如果我只将GET更改为PUT(完全相同的方法,只需更改注释):

@GET
@Path("/{code}")
public Response update(@PathParam("code") String code) {
    System.out.println("!!!!!!!");
    return Response.status(Response.Status.OK).build();
}

curl -i -X GET http://localhost:18270/nyx/rest/servervirtueel/SVM0000
HTTP/1.1 200 OK

随后HTML告诉我"指定的HTTP方法不允许用于所请求的资源"。但是,POST确实有效(再次更改注释)。

1 个答案:

答案 0 :(得分:0)

事实证明,OWASP方法白名单阀在Tomcat(Catalina)级别配置为仅允许GET和POST;这是一个直到现在才持有SOAP服务的webapp。您在web.xml或server.xml中都没有看到这一点,但它位于Catalina / localhost / webappname.xml中。