`
zhaoyanfangeye
  • 浏览: 122542 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Cxf在中的自定义拦截器来输出日志信息

阅读更多
package com.gosophia.metadataEngine.webservice.interceptor;

import javax.xml.ws.WebServiceException;

import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
import org.apache.cxf.phase.Phase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*继承一个拦截器类
*/
public class ErrorInterceptor extends AbstractPhaseInterceptor<Message>{

	
	public ErrorInterceptor(String phase) {
		super(phase);
	}
	public ErrorInterceptor(){
		super(Phase.RECEIVE);
	}

	public void handleMessage(Message arg0) throws Fault {
	}
         //出现错误输出错误信息和栈信息
	public void handleFault(Message message) {
		Logger logger = LoggerFactory.getLogger(getClass());
		Exception exeption=message.getContent(Exception.class);
		logger.error(exeption.getMessage(),exeption);
	}

}

配置拦截器
<jaxws:endpoint id="dataViewWebServiceEP" address="/DataViewWebService">
		<jaxws:implementor ref="dataViewWebService" />
				<jaxws:inInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
		    <bean class="com.gosophia.metadataEngine.webservice.interceptor.ErrorInterceptor"></bean>
		</jaxws:inInterceptors>
		<jaxws:outInterceptors>
			<!-- 输出日志 -->
			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
		</jaxws:outInterceptors>
	</jaxws:endpoint>
分享到:
评论
2 楼 yingtaier 2014-09-30  
[i][4/i]
引用
-

    [*]
引用
---
[size=x-large][/size]

[url]]]]]]]][img]]]]]]]]]]     [/img][/url]
1 楼 paladin1988 2013-01-30  
well done..

相关推荐

Global site tag (gtag.js) - Google Analytics