Cliente Jersey + HTTP DELETE

7 respostas
turim

Olá,

Estou com um problema ao utilizar o cliente Jersey para acessar um Rest Webservice. Quando envio:

webResource.path("recruso").path(model.getId()).delete(model.getId());

Para deletar um regsitro do Rest. Tenho a exceção Caused by: java.net.ProtocolException: HTTP method DELETE doesn’t support output, procurei sobre, e parece que é um erro da biblioteca HttpClient.

Meu Webservice está da seguinte forma:

@Path("{id}")
	@DELETE
	@Produces("text/plain")
	public void remove(@PathParam("id") Integer id) {
		Session session = HibernateUtils.getSession();

		Empresa empresa = (Empresa) session.createCriteria(Empresa.class)
				.add(Restrictions.eq("id", id)).uniqueResult();

		if (empresa != null) {
			session.delete(empresa);
		}

	}

Alguém sabe como contornar esse problema ?

Obrigado.

7 Respostas

ivandasilva

Cara você já tentou usar a classe do java HttpUrlConnection ?

turim

Mas ele oferece suporte para Rest ?

ivandasilva

Ele faz chamadas HTTP, até hj eu usei somente para fazer requisições GET, mas acredito que você consiga usar ele para fazer o seu DELETE, TRACE …

Alexandre_Saudate

Esse @Produces no método também está um pouco estranho… se seu método não produz conteúdo, porque colocar @Produces?

[]'s

Alexandre_Saudate

Duplicado .

turim

Então, até retirei essa anotação… mas o erro continua.

Alexandre_Saudate

Procurou por outros métodos anotados com @DELETE ? Pode ser que o problema não esteja nesse serviço.

[]'s

Criado 19 de março de 2013
Ultima resposta 19 de mar. de 2013
Respostas 7
Participantes 3