Jersey检测到错误xml时拦截400响应生成?

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

我正在编写一个需要模拟第三方RESTful服务器的测试服务器,我正在使用Jersey编写测试服务器

所有请求都是通过应用程序/xml有效负载发布的,因此我从以下内容开始:

  @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的回答: