Thanks again, Sergey. I was able to register the provider using: <bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider”/>
Then use it via: <to uri="cxfrs:bean:webService?provider=#jsonProvider”/> However, it looks like there is no content available via the exception. Using the code: InvocationTargetException exception = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, InvocationTargetException.class); NotFoundException orig = (NotFoundException)(exception.getCause()); CrewServiceDeniedError err = orig.getResponse().readEntity(CrewServiceDeniedError.class); logger.error("Incoming response: ", err.getReason()); logger.error("Incoming response (plain):", orig.getResponse().readEntity(String.class)); I get output at runtime: [Camel (rraaCamelContext) thread #2 - seda://from_rraa] ERROR my.module.ExceptionProcessor - Incoming response: [Camel (rraaCamelContext) thread #2 - seda://from_rraa] ERROR my.module.ExceptionProcessor - Incoming response (plain): So I’m back to wondering where the original payload from the REST 404 response is. It gets logged from Camel as: ID: 2 Response-Code: 404 Encoding: ISO-8859-1 Content-Type: application/json Headers: {Accept=[application/json], breadcrumbId=[ID-Steves-MacBook-Pro-local-55129-1446506823854-1-7], content-type=[application/json], OriginalHeader=[{name=VerifyEmployeeRequest, version=1, scac=rraa, timeSent=null, uuid=abcd-1234}], pin=[1234], reason=[INIT], Server=[Jetty(9.2.11.v20150529)], transfer-encoding=[chunked], User-Agent=[Apache CXF 3.1.2]} Payload: { "employeeID": "bad-name", "reason": "id not found” } Thanks very much for any insight, -Steve > On Nov 2, 2015, at 3:52 PM, Sergey Beryozkin <sberyoz...@gmail.com> wrote: > > > As I said you will need to register a JAXRS provider capable of converting > it, though I'm not sure right now what the syntax is with > cxfrs:bean:webService, looks like from > http://camel.apache.org/cxf-bean-component.html > > it is something like > cxfrs:bean:webService?providers=#jackson > > Cheers, Sergey > On 02/11/15 18:02, Steve Huston wrote: >> Thank you very much for your quick help, Sergey! >> I tried your solution and now get the following exception: >> >> [Camel (rraaCamelContext) thread #2 - seda://from_rraa] ERROR >> org.apache.cxf.jaxrs.utils.JAXRSUtils - No message body reader has been >> found for class my.class.path.CrewServiceDeniedError, ContentType: >> application/json >> >> The code I have is: >> >> InvocationTargetException exception = >> exchange.getProperty(Exchange.EXCEPTION_CAUGHT, >> InvocationTargetException.class); >> NotFoundException orig = (NotFoundException)(exception.getCause()); >> CrewServiceDeniedError err = >> orig.getResponse().readEntity(CrewServiceDeniedError.class); >> >> I created this class for the payload: >> >> public class CrewServiceDeniedError { >> >> private String employeeID; >> private String reason; >> >> public String getEmployeeID() >> { return employeeID; } >> public void setEmployeeID(String id) >> { employeeID = id; } >> >> public String getReason() >> { return reason; } >> public void setReason(String r) >> { reason = r; } >> } >> >> -Steve >> >>> On Nov 2, 2015, at 11:24 AM, Sergey Beryozkin <sberyoz...@gmail.com> wrote: >>> >>> Hi >>> If you can access NotFoundException then what you can do next is to do >>> >>> ErrorInfo errorInfo = exception.getResponse().readEntity(ErrorInfo.class) >>> >>> where ErrorInfo is a custom class capturing a JSON error response, you'd >>> also need to register Jackson or other provider to get it converted. Or >>> read it as String.class and parse manually >>> >>> HTH, Sergey >>> On 02/11/15 16:15, Steve Huston wrote: >>>> I put this up on stackoverflow... if you have cxfrs expertise, could you >>>> please read this? >>>> >>>> How to access payload from REST 404 response in Camel cxfrs? >>>> http://stackoverflow.com/q/33445686/240342?sem=2 >>>> >>>> Thanks, >>>> -Steve >>>> >>> >> > > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/