Apache CXF发送自定义响应,中止拦截器链

时间:2014-11-27 16:27:50

标签: java spring cxf

我有三个拦截器,执行顺序如下:
- 安全拦截器
- 认证拦截器
- 授权拦截器

第一个安全拦截器运行,如果它满足安全要求,则验证拦截器调用,如果验证完成,则AuthorizationInterceptor应调用并授权调用。

但问题是,如果未满足安全性,我需要中止接下来的两个(身份验证,授权)拦截器,并从SecurityInterceptor返回自定义响应。

如果我调用message.getInterceptorChain()。abort();然后没有发送任何回复。 如何中止处理拦截器并发送自定义响应?

My Security拦截器处于Phase.Receive,其他两个拦截器处于Phase.PRE_INVOKE阶段。

1 个答案:

答案 0 :(得分:1)

你应该抛出错误而不是调用interceptror.abort()