2012-12-14 42 views
1

在我RestEasy的服务,我想在客户端的请求返回的媒体文件,如:如何在RestEasy的服务响应指定自定义HTTP错误

从服务器端(tomcat的6):

@GET 
@Path("/getXML/{skinId}/{key}") 
@Produces("text/xml") 
public Response getXMLResource(@PathParam("key") String key, @PathParam("skinId") String skinId) { 
    // Reading a file from disk... 
    return Response.ok(file, type).build(); 
} 

而从客户端:

final URL uri = new URL("http://localhost:8080/service/getXML"); 
final InputStream stream = uri.openStream(); 

问题:

我想返回定制HT TP错误(资源不存在;服务器正忙,请稍后再试)。

@GET 
@Path("/getError") 
@Produces("text/xml") 
public Response getError() { 
    return Response.serverError().status(333).build(); 
} 

但是,当我试图访问错误的方法,我得到500(!)(无论如何)内部服务器错误。

你们能帮我解决吗? 在此先感谢!

回答

1

我已经应付了这个。 问题是在使用

.serverError() 

该automaticaly装置500的错误代码作为内部的服务器。

我们可以只设置响应的状态回到正确的状态:

@GET 
@Path("/getError") 
public Response getError() { 
    return Response.status(412).build(); 
} 
相关问题