CXF异常处理

   本文将讨论一下,在CXF服务端的异常处理,主要包括服务实现类抛出异常与拦截器中抛出异常,抛出异常后CXF的处理流程。其实在CXF中,异常无论是在服务实现类还是拦截器中抛出,其处理方式是一样的,当服务方法中的异常抛出后,CXF会将异常包装为org.apache.cxf.interceptor.Fault类型,而拦截器中只能抛出Fault类型异常,其间接继承于java.lang.RuntimeException,也就是属于运行时异常。根据CXF中Web服务请求处理流程知道,CXF对请求的处理流程是,先调用输入拦截器链,然后调用服务方法,再调用输出拦截器链,最后将结果返回给客户端。拦截器链的实现类为org.apache.cxf.phase.PhaseInterceptorChain,调用拦截器的方法为:doIntercept,下面是源码:

@SuppressWarnings("unchecked")
public synchronized boolean doIntercept(Message message) {
	updateIterator();

	Message oldMessage = CURRENT_MESSAGE.get();
	try {
		CURRENT_MESSAGE.set(message);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值