Java 当响应代码为400时,如何从rest客户端访问apache camel中的负载?
在驼峰路线中,我正在访问rest服务。对于无效输入,我得到的json响应低于400响应代码。但我无法访问有效载荷。即使它在骆驼身上也没有反射。请帮助给出一个解决方案,当响应代码不是200时如何访问rest有效负载 下面的这个块是包含cxfrs:bean的路由。我正在尝试处理dotry块中的异常,然后尝试在处理器中检索响应负载。但有效载荷无法访问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
<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 );
}