1.首先实现cxf自带的拦截器,实现内容如下
package com.dc.city.common.exception;
import java.util.Locale;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import com.dc.city.common.vo.InvokeExceptionVo;
@Provider
public class InvokeFaultExceptionMapper implements ExceptionMapper<Throwable> {
/**
* 组装反射信息
*/
public Response toResponse(Throwable ex) {
ex.printStackTrace();// 打印出错误日志
StackTraceElement[] trace = new StackTraceElement[1];
trace[0] = ex.getStackTrace()[0];// 获取出错的类,方法名称等信息
// 开始组织错误信息
InvokeExceptionVo vo = new InvokeExceptionVo();
vo.setClassName(trace[0].getClassName());