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/ >
