No "standard" way to do it, though :(.
On Sun, Sep 20, 2015 at 7:37 AM Sergey Beryozkin <[email protected]>
wrote:

> If you using proxies: register ResponseExceptionMapper as a provider
> when creating proxies
>
> Sergey
> On 18/09/15 23:39, James Carman wrote:
> > 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/
> >>
> >
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>

Reply via email to