Chillax
Chillax

Reputation: 4728

HTTP Status 405 - Method Not Allowed Error on Invoking a DELETE method using WebServices

I am trying to delete a "Contact" from the "Contacts" table using the following @DELETE method (using Jersey Framework (JAX-RS implementation)

@DELETE
@Path("/delete/{contact}")
public String deleteContact(@PathParam("contact") String name) throws ClassNotFoundException, SQLException {

    String response = DAOaccess.deleteContact(name);
    return response; 
}

And the following url is used to invoke the webservice from the browser:

/contacts/delete/contactname

But HTTP Status 405 - Method Not Allowed is thrown on doing so.

What might be the reason? How do I overcome this?

Upvotes: 2

Views: 21270

Answers (2)

basiljames
basiljames

Reputation: 4847

If you are using Firefox use this plugin to test your service. When you directly hit the URL from browser it goes as a @GET request which is not allowed in this case. RestClient is also available as standalone app. If you need more functionalities try SoapUI. I have also posted a response to your question on @DELETE.

Upvotes: 2

subodh
subodh

Reputation: 6158

URL = /contacts/delete/contactname

405 because

It seems delete is always behave as submit (Post method) and you are trying to call as like get method from the URL. This is not possible to call the post method as like get. if you really want to call this web service from the browser to test, just download a Mozilla plugin (Poster) which will help you to submit the web service in your all method types.

Upvotes: 8

Related Questions