cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <>
Subject Re: Intercepting exceptions on the server side.
Date Thu, 13 Dec 2012 16:49:10 GMT
On 13/12/12 16:34, Sergey Beryozkin wrote:
> On 13/12/12 16:14, Ivan.Latysh wrote:
>> 2.4.10 behavior is more consistent, that is great news, and
>> Interceptor is
>> called in both cases.
> Cool, thanks for validating this case...I still have not been able to
> look into it...
>> But it is got worse than before, now exception details has been stripped
>> from the message by the "WebApplicationExceptionMapper" for both cases,
>> exception thrown of my code and mapping/parsing exceptions.
> First the default mapper is there to be overridden (as I said - register
> it as jaxrs:provider), and if it were not there then WAEs would escape
> completely and the users would be forced to use out fault interceptors
> and manually serialize the errors...
> Now, please explain what is being stripped by the default mapper, what
> were you expecting that is not possible now (with the default mapper) ?
> I can see from the code that the following will happen in the default
> mapper:
> - if the caught WAE's Response contains the entity then this Response
> will be used as is.
> If not and if the mapper "addMessageToResponse" is set then the extra
> info which is created by the default mapper will be reported.
> This is optional because one may not always wants to report WAE details,
> example, for the security reasons, or simply to get the faster
> processing time, or to be very HTTP compliant - many HTTP errors are
> actually expected to be returned with no extra payloads
> So you can customize it - simple configure the default mapper explicitly
> by setting "addMessageToResponse" to true or replace it by registering
> your own custom provider
>> And as before I can not register custom ExceptionMapper for the bus.
> That is not possible because ExceptionMappers are not part of the CXF
> interceptor model.
> I see though the possible limitation with the fact that if you have a
> simple exception mapper then you have to manually register which becomes
> tedious if you have n+ number of endpoints.
> Auto-discovery of the providers (something I've been postponing looking
> into) will possibly help in simple cases. Also as I said before, I will
> consider adding a utility fault out interceptor which will be able to
> map the exceptions even with the help of exception mappers - I'll keep
> you up to date on this one

Hmm, I think I'll simply update the exception mapping algo to check the 
bus as the last resource, if it is not registered with ProviderFactory 
then try bus.get(MyException.class) - if something is there then use 
this global mapper - should work...


> Sergey
>> War with source code.
>> Thank you in advance.
>> --
>> View this message in context:
>> Sent from the cxf-user mailing list archive at

Sergey Beryozkin

Talend Community Coders


View raw message