Is there nothing I can do to just have the exception message in the
exception itself without having to do the extraction? I don't want to put
this burden on my clients. The clients are generating proxy is using the
rest interface
On Fri, Sep 18, 2015 at 5:11 PM Sergey Beryozkin <[email protected]>
wrote:
> Hi
>
> I think you can catch NotFoundException, and then do
> ex.getResponse().readEntity(String.class) or may be
>
> ex.getResponse().readEntity(ErrorResponses.class)
>
> where a registered Jackson/etc provider will convert JSON to
> ErrorResponses bean - assuming the error response has Content-Type set.
>
> I know you can block a request on the client side from
> ClientRequestFilter and return Response thus emulating various server
> responses.
>
> I believe the exceptions thrown from ClientResponseFilter are wrapped
> into ResponseProcessingException which points to a client side response
> processing issue
>
> Cheers, Sergey
>
> On 18/09/15 18:09, James Carman wrote:
> > I've got a REST service that returns error messages as JSON like this:
> >
> > {
> > "errorMessages": ["foo", "bar"]
> > }
> >
> > When I create a client proxy and call that service, I don't see any error
> > message in the exceptions (I might get a NotFoundException with no
> message
> > for instance). That's understandable, since how in the heck would CXF
> know
> > how to convert my JSON into something readable? Anyway, I would like to
> > help CXF along here and get the right error message to it (maybe "foo,
> bar"
> > in the above example) so that it can include it in the constructor for
> > NotFoundException. I'm thinking ClientResponseFilter might be the way to
> > go, but thought I'd check in with you guys before I go too far down the
> > rabbit hole. I've tried throwing an exception from my "filter" method
> and
> > CXF doesn't appear to really like that idea. Any thoughts/guidance?
> >
> > Thanks,
> >
> > James
> >
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>