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>
分享到:
相关推荐
6. **调试和测试拦截器**:为了确保拦截器按预期工作,你需要了解如何在CXF中启用日志输出,这通常通过设置日志级别和使用如`java.util.logging`或`log4j`这样的日志框架来实现。 7. **异常处理**:自定义拦截器...
拦截器是CXF框架中的一种重要机制,它们允许我们在消息被处理之前或之后插入自定义逻辑,例如认证、日志记录、事务管理等,其中权限检查是常见应用场景之一。 要创建自定义拦截器,我们需要遵循以下步骤: 1. **...
本节我们将深入探讨如何为CXF客户端添加自定义拦截器以实现权限控制。 首先,理解拦截器的概念是至关重要的。拦截器是一种设计模式,它允许在方法调用前后执行额外的操作,比如日志记录、事务管理或如这里的权限...
在本项目中,"spring集成cxf客户端和服务器端demo(含自定义拦截器)"是一个实战案例,展示了如何在Spring框架下与Apache CXF服务进行整合,实现客户端和服务端的交互,并利用拦截器来增强功能。以下是这个项目涉及的...
本文将深入探讨自定义拦截器的概念、作用以及如何在CXF框架下实现。 首先,让我们了解什么是拦截器。在软件开发中,拦截器是一种设计模式,它允许我们在特定操作执行前后插入自定义逻辑,如日志记录、事务管理、...
5. 自定义拦截器:在CXF中,拦截器用于在消息发送或接收时插入自定义逻辑,例如认证、日志记录等。这里提到的自定义拦截器可能用于实现特定的安全或业务需求。 【描述解析】 "实现了客户端和服务端,客户端添加...
本篇文章将深入探讨如何使用CXF来开发具有权限控制功能的Web Service,并通过拦截器实现这一目标。 首先,我们需要理解Web Service拦截器的概念。在CXF中,拦截器是处理消息生命周期中的关键组件,它们可以在消息...
CXF 自定义拦截器实现的 webservice安全机制实例工程, 带jar包 ,代码注释详细 内有说明文档, 由于资源过大 ,所以客户端jar包 删除掉了, 只需要把服务端的jar 拷贝到 客户端即可 , 小弟刚刚研究完 CXF 安全 。...
本篇文章将深入探讨如何使用CXF的`EndpointImpl`类来发布一个WebService,并加入拦截器。 首先,我们要理解`EndpointImpl`是CXF框架用于构建和配置Web服务端点的核心类。通过实例化这个类,我们可以自定义服务的...
这里少了一个类,是根据实体类生成xml的文件下载地址为:http://download.csdn.net/detail/qq_14996421/9495688
通过上述步骤,我们成功实现了使用CXF打印SOAP报文的功能,并能够有效地记录WebService的日志信息。这对于调试和维护基于CXF的服务来说是非常有用的。此外,通过扩展此类自定义拦截器,还可以添加更多的功能,如安全...
除了自定义拦截器,还可以利用CXF提供的内置拦截器,如LoggingInInterceptor和LoggingOutInterceptor,用于日志记录,或者AddressingInInterceptor和AddressingOutInterceptor,用于处理WS-Addressing相关的头部信息...
拦截器是CXF框架中的一个重要组成部分,允许开发者在服务调用的生命周期中插入自定义逻辑,实现如日志记录、安全检查、性能监控等功能。本篇将深入探讨CXF拦截器的理论基础,并演示如何为CXF的客户端和服务端添加...
拦截器允许开发者在请求和响应的消息传递过程中插入自定义逻辑,从而在不影响核心框架的情况下,实现诸如日志记录、消息格式转换、安全性检查等复杂功能。 ### 一、基本原理 拦截器的基本工作原理可以类比于管道...
CXF+Spring+自定义拦截器 webservice源码下载
在CXF服务端,你可以通过实现`org.apache.cxf.interceptor.Fault`和`org.apache.cxf.phase.PhaseInterceptorChain`接口的类来创建自定义拦截器,并将它们添加到服务的拦截器链中。 4. **“inter_client”**: 这...
当我们谈论"CXF发布WebService加入拦截器"时,这涉及到在CXF服务端和客户端增加拦截器来增强服务功能和控制流程。拦截器是CXF框架中的一个重要组件,它们提供了在消息发送和接收过程中插入自定义逻辑的能力。 一、...
3. **拦截器**:在CXF中,拦截器是一种机制,允许开发者在服务调用前或调用后插入自定义逻辑,例如添加认证、日志记录或数据加密/解密等。 4. **加密**:数据保护手段,确保信息在传输过程中不被非法获取,通常通过...
CXF提供了丰富的功能,包括服务端和客户端的拦截器(Interceptor)机制,使得开发者能对服务调用进行自定义处理,如权限控制和登录校验。本文将深入探讨"CXF拦截器-权限控制-登录校验"这一主题。 首先,我们需要...
例如,在Spring配置文件中,我们可以使用`<cxf:client>`或`<cxf:endpoint>`元素的`interceptor`属性来指定要使用的拦截器。 通过学习和理解这些示例,开发者可以更好地利用CXF拦截器来扩展和定制自己的Web服务,...