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