如何使用异常映射器来处理MSF4J中拦截器抛出的异常

时间:2017-01-17 10:29:26

标签: msf4j wso2msf4j

我在拦截器中添加了一个授权模块,并尝试使用异常映射器来抛出401状态代码,但即使它正在扫描我的异常映射器,它也没有在运行时使用它。

@Component
public class ExceptionMapper implements javax.ws.rs.ext.ExceptionMapper<Exception> {
    public ExceptionMapper() {
        System.out.println("true Manish= " + true);
    }
@Override
public Response toResponse(Exception exception) {
    System.out.println("product Manish Exception comning here");
    return Response.status(Response.Status.EXPECTATION_FAILED).
            entity(exception.getMessage()).
            type("text/plain").
            build();
}
}

所以,它打印真正的Manish = true,但是当我的拦截器抛出一个异常时,它并没有触及toResponse()方法

1 个答案:

答案 0 :(得分:0)

目前MSF4J无法映射从拦截器级别抛出的异常。它只能映射在实际服务中抛出的异常。我们希望将其增强为拥有全局异常映射器。为此创建了https://github.com/wso2/msf4j/issues/327