Jersey检测到错误xml时拦截400响应生成?
我正在编写一个需要模拟第三方RESTful服务器的测试服务器,我正在使用Jersey编写测试服务器 所有请求都是通过应用程序/xml有效负载发布的,因此我从以下内容开始:Jersey检测到错误xml时拦截400响应生成?,jersey,jax-rs,Jersey,Jax Rs,我正在编写一个需要模拟第三方RESTful服务器的测试服务器,我正在使用Jersey编写测试服务器 所有请求都是通过应用程序/xml有效负载发布的,因此我从以下内容开始: @Path("GetUserDetails") @POST @Consumes(MediaType.APPLICATION_XML) public GetUserDetailsResp GetUserDetails(GetUserDetailsReq request) { ... } Jersey
@Path("GetUserDetails")
@POST
@Consumes(MediaType.APPLICATION_XML)
public GetUserDetailsResp GetUserDetails(GetUserDetailsReq request) {
...
}
Jersey在XML格式错误时返回400(GetUserDetailsReq是一个JAXB对象),这不是我需要的。相反,我需要返回200和一个XML错误块
我可以通过在方法中解组并使用@Provider/ExceptionMapper类来绕过400,但这很笨拙。除了以声明方式返回400之外,是否还有其他方法可以指定?可能是@Provider/ExceptionMapper上的一个变体
TIA.Pavel Bucek在邮件列表中回答了这个问题:Pavel Bucek的回答: