Java 当响应代码为400时,如何从rest客户端访问apache camel中的负载?

Java 当响应代码为400时,如何从rest客户端访问apache camel中的负载?,java,spring,apache-camel,jbossfuse,Java,Spring,Apache Camel,Jbossfuse,在驼峰路线中,我正在访问rest服务。对于无效输入,我得到的json响应低于400响应代码。但我无法访问有效载荷。即使它在骆驼身上也没有反射。请帮助给出一个解决方案,当响应代码不是200时如何访问rest有效负载 下面的这个块是包含cxfrs:bean的路由。我正在尝试处理dotry块中的异常,然后尝试在处理器中检索响应负载。但有效载荷无法访问 <route id="_route3" streamCache="true"> <from id="_from2" ur

在驼峰路线中,我正在访问rest服务。对于无效输入,我得到的json响应低于400响应代码。但我无法访问有效载荷。即使它在骆驼身上也没有反射。请帮助给出一个解决方案,当响应代码不是200时如何访问rest有效负载

下面的这个块是包含cxfrs:bean的路由。我正在尝试处理dotry块中的异常,然后尝试在处理器中检索响应负载。但有效载荷无法访问

  <route id="_route3" streamCache="true">
     <from id="_from2" uri="direct:togetcustomercategorybackend"/>
       <doTry id="_doTry1">
         <to id="_to3" uri="cxfrs:bean:DsGetCustomerCategoryBackEndUrl"/>
      <doCatch id="_doCatch1">
      <exception>java.lang.Exception</exception> 
      <process ref="ResponseHandler" />
      </doCatch>
    </doTry>
  </route>
使用查询参数传递请求参数:

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;


public interface DSGetCustomerCategoryApi {


@GET    
@Produces(MediaType.APPLICATION_JSON)
public String DSGetCustomerCategory( 
        @QueryParam("OfferType") String OfferType, 
        @QueryParam("MSISDN") String MSISDN ,
        @QueryParam("IdType") String IdType ,
        @QueryParam("IdNumber") String IdNumber ,
        @QueryParam("BillAverage") Double BillAverage );

}

当响应代码不是200时,这意味着您得到了一个异常,下面的示例可以帮助您在有效负载中获得异常正文:
公共字符串getException(异常){
返回异常。getMessage();
}

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;


public interface DSGetCustomerCategoryApi {


@GET    
@Produces(MediaType.APPLICATION_JSON)
public String DSGetCustomerCategory( 
        @QueryParam("OfferType") String OfferType, 
        @QueryParam("MSISDN") String MSISDN ,
        @QueryParam("IdType") String IdType ,
        @QueryParam("IdNumber") String IdNumber ,
        @QueryParam("BillAverage") Double BillAverage );

}