Java REST WS @POST 405 Метод не разрешен

Я знаю, что есть много ответов на вопросы по одной и той же теме, однако ни один из ответов кажется не решает мою проблему. Я пытаюсь сделать REST WS на Java. Методы @GET работают нормально, но когда я пытаюсь сделать что-то еще (используя либо RESTClient, либо Poster — оба расширения Firefox), я получаю следующее сообщение:

Status Code: 405 Method Not Allowed
Allow: GET,OPTIONS,HEAD
Content-Length: 0
Date: Thu, 02 Jan 2014 18:17:07 GMT
Server: Apache-Coyote/1.1

Пример методов CRUD:

@PUT
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/Update/{addNewData}")
public Response Update(
        @PathParam("addNewData") JSONObject addNewData) {
    String str = new JSONObject().toString();
    return Response.status(200).entity(str).build();
}

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/AddNew/{addNewData}")
public Response AddNew(
        @PathParam("addNew") JSONObject addNew) {
    String str = new JSONObject().toString();
    return Response.status(200).entity(str).build();
}

@DELETE
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.TEXT_PLAIN)
@Path("/Delete/{profileId}")
public Response Delete(@PathParam("profileId") String profileId) {
    String str = new JSONObject().toString();
    return Response.status(200).entity(str).build();
}

В случае необходимости, вот файл web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>RMGTrackerServices</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>
  com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>middlewireServices</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

Использование Apache 7.0.47. Заранее спасибо.


person RominaV    schedule 02.01.2014    source источник
comment
Попробуйте включить режим трассировки в Джерси, чтобы найти реальную причину проблемы java.dzone.com /articles/troubleshooting-jersey-rest   -  person vzamanillo    schedule 02.01.2014
comment
Спасибо @vzamanillo. Я перезапустил сервер, и теперь я получаю 404, метод не найден. Любые идеи?   -  person RominaV    schedule 03.01.2014
comment
Может проблема с конфигурацией? stackoverflow.com/ вопросы/17709039/   -  person vzamanillo    schedule 03.01.2014