You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Atul <at...@gmail.com> on 2015/03/05 10:31:05 UTC
Re: Handling fault in interceptor...
Hi All,
I am facing a similar problem.
JAXRSValidationInINterceptor is throwing an exception in PRE_INVOKE phase. I
want to catch this exception and return a custom json response to the
client. I have created a custom interceptor which catches the exception ,
takes out the message . I have one exception mapper registered. I am using
that but its not working. No json content is going to the client. Please
help. I want to send JSON response to the client.
@Override
public void handleMessage(Message aInMessage) throws Fault
{
Exception e = aInMessage.getContent(Exception.class);
Fault f = (Fault)e;
if(f.getCause() instanceof ConstraintViolationException){
ConstraintViolationException exception =
(ConstraintViolationException)f.getCause();
String message =
exception.getConstraintViolations().iterator().next().getMessage();
XRouterError error = new XRouterError("401",message);
throw new OperationFailedException(error);
}
}
--
View this message in context: http://cxf.547215.n5.nabble.com/Handling-fault-in-interceptor-tp4469616p5754766.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Handling fault in interceptor...
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
Exceptions thrown from out fault interceptors are actually propagated to
the servlet container.
JAXRSDefaultFaultOutInterceptor will ensure a registered exception
mapper is invoked, register a custom ConstraintViolationException mapper.
Sergey
On 05/03/15 09:31, Atul wrote:
> Hi All,
>
> I am facing a similar problem.
>
> JAXRSValidationInINterceptor is throwing an exception in PRE_INVOKE phase. I
> want to catch this exception and return a custom json response to the
> client. I have created a custom interceptor which catches the exception ,
> takes out the message . I have one exception mapper registered. I am using
> that but its not working. No json content is going to the client. Please
> help. I want to send JSON response to the client.
>
> @Override
> public void handleMessage(Message aInMessage) throws Fault
> {
> Exception e = aInMessage.getContent(Exception.class);
> Fault f = (Fault)e;
> if(f.getCause() instanceof ConstraintViolationException){
> ConstraintViolationException exception =
> (ConstraintViolationException)f.getCause();
> String message =
> exception.getConstraintViolations().iterator().next().getMessage();
> XRouterError error = new XRouterError("401",message);
> throw new OperationFailedException(error);
> }
> }
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/Handling-fault-in-interceptor-tp4469616p5754766.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com