Java 获取客户端上PUT请求的状态

Java 获取客户端上PUT请求的状态,java,web-services,jersey,Java,Web Services,Jersey,我在服务器端使用Jersey定义了一个Web服务,如下所示: @POST @Consumes(MediaType.APPLICATION_XML) @Path("/foo") public Response bar(List<Foo> listFoo) { try { //save the resource } catch (Exception e) { log.error("Error saving", e);

我在服务器端使用Jersey定义了一个Web服务,如下所示:

@POST
@Consumes(MediaType.APPLICATION_XML)
@Path("/foo")
public Response bar(List<Foo> listFoo) {    
 try {
        //save the resource
        } catch (Exception e) {
        log.error("Error saving", e);
        return Response.status(Status.INTERNAL_SERVER_ERROR).build();
    }
    return Response.status(Status.OK).build();
}
Response response = ws.type(MediaType.APPLICATION_XML).post(Response.class,list);
但我得到了一个错误:

A message body reader for Java class javax.ws.rs.core.Response, and Java type class javax.ws.rs.core.Response, and MIME media type application/xml was not found javax.ws.rs.core.Response

我真的不需要响应对象,只需要状态码,我怎么才能得到它?

添加
@将
注释添加到web服务中,并将参数添加到
bar()
方法中,因为您正试图在其中放置一些名为
list
的对象

我建议您改用
@POST
,因为canonical
@PUT
不会返回响应

UPD。顺便说一下,您的实体是空的-您最好删除
@products
注释,然后返回
Response
,并设置其状态


UPD2。并从客户端删除
.accept(MediaType.APPLICATION\u XML)
方法。

好的,我通过更改请求-响应类型解决了这个问题:

Response response = ws.type(MediaType.APPLICATION_XML).post(Response.class,list);


作为
ClientResponse
a
com.sun.jersey.api.client.ClientResponse

它产生了什么
>?一个javax.rs.core.ResponseAh,好的,对不起!MediaType.APPLICATION\xml谢谢,经过测试,但我得到了相同的结果。列表很好,如果我返回一个“OK”字符串而不是响应,就可以了。我会更新这个问题。我会在客户端得到它。如果我在服务器端调试,我会看到进程接收到调用并正常执行,发送Status.OK响应。更改完成,现在消息更改为:Java类javax.ws.rs.core.Response的消息体读取器,Java类型类javax.ws.rs.core.Response,未找到MIME媒体类型应用程序/八位字节流
ClientResponse response = ws.type(MediaType.APPLICATION_XML).post(ClientResponse.class,list);