`
234390216
  • 浏览: 10218818 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462019
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1774439
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1397513
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:394706
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:679510
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:530299
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1180705
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:466040
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151030
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:67738
社区版块
存档分类
最新评论

Cxf拦截器中获取当前请求的参数

阅读更多

Cxf拦截器中获取当前请求的参数

 

         有的时候我们的工程里面会有很多的Webservice服务,我们可能出于某种原因可能需要对每个请求实现特定的逻辑,比如说对参数的有效性进行校验,这种逻辑往往是通过Cxf的拦截器来实现的,这个时候就需要获取Webservice服务的当前请求参数。Cxf中用MessageContentsList来封装一次请求的所有参数,它是继承自java.util.ArrayList的。MessageContentsList提供了一个静态方法getContentsList(Message message)用于从Message中获取对应请求的参数。其核心实现代码如下。

 

    public static MessageContentsList getContentsList(Message msg) {

        List<Object> o = CastUtils.cast(msg.getContent(List.class));

        if (o == null) {

            returnnull;

        }

        if (!(oinstanceof MessageContentsList)) {

            MessageContentsList l2 = new MessageContentsList(o);

            msg.setContent(List.class, l2);

            returnl2;

        }

        return (MessageContentsList)o;

    }

 

         所以通常我们需要对Webservice服务的请求参数进行统一处理时,我们会定义一个对应的拦截器,然后在拦截器的handleMessage方法中进行如下处理。

   @Override

   public void handleMessage(SoapMessage message) throws Fault {

      //...

      //请求参数中包含的参数

      MessageContentsList list = MessageContentsList.getContentsList(message);

      //对请求参数进行处理

      //...

   }

 

(注:本文是基于Cxf2.7.6所写)

(注:原创文章,转载请注明出处,原文地址:http://haohaoxuexi.iteye.com/blog/2264489

 

 

 

1
2
分享到:
评论

相关推荐

    CXF3.0+Spring3.2 自定义拦截器

    3. **Spring集成**:在Spring3.2中,我们可以使用`&lt;cxf:bus&gt;`和`&lt;cxf:interceptor&gt;`标签将自定义拦截器注册到CXF Bus中。这样,Spring容器会管理拦截器的生命周期,并在需要时注入其他依赖。 4. **拦截器链**:CXF...

    CXF拦截器(Interceptor)的使用

    拦截器允许开发者在请求和响应的消息传递过程中插入自定义逻辑,从而在不影响核心框架的情况下,实现诸如日志记录、消息格式转换、安全性检查等复杂功能。 ### 一、基本原理 拦截器的基本工作原理可以类比于管道...

    CXF WebService带有拦截器

    在CXF中,拦截器是处理消息生命周期中的关键组件,它们可以在消息发送前、接收后、发送后以及接收前执行自定义逻辑。这使得我们可以在不修改原有业务代码的情况下,轻松地添加额外的功能,如日志记录、安全检查或...

    08.CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器

    拦截器是CXF框架中的一个重要组成部分,允许开发者在服务调用的生命周期中插入自定义逻辑,实现如日志记录、安全检查、性能监控等功能。本篇将深入探讨CXF拦截器的理论基础,并演示如何为CXF的客户端和服务端添加...

    Cxf拦截器实例

    其中,拦截器(Interceptor)是CXF框架中的一个重要概念,允许我们在消息传递的过程中插入自定义逻辑。在这个"CxfInterceptor_CS"压缩包中,我们很可能会找到客户端和服务器端的拦截器实现示例。 拦截器是CXF中一种...

    CXF使用EndpointImpl发布WebService加入拦截器

    拦截器在CXF中的工作原理基于JAX-WS规范,可以分为两种类型:`InInterceptors`(入站拦截器)和`OutInterceptors`(出站拦截器)。入站拦截器处理从客户端到服务器的消息,而出站拦截器则处理从服务器返回到客户端的...

    webservice的cxf框架拦截器demo

    在CXF中,我们可以创建实现`org.apache.cxf.interceptor.ClientInterceptor`接口的类,并通过`ClientProxy.getClient()`方法获取代理对象,然后调用`getOutInterceptors()`或`getInFaultInterceptors()`等方法添加...

    11.为CXF客户端添加自定义拦截器完成权限控制

    在CXF中,拦截器可以插入到消息处理管道中,对请求和响应进行处理。 要为CXF客户端添加自定义拦截器,我们需要遵循以下步骤: 1. **创建拦截器类**:首先,创建一个实现了`org.apache.cxf.interceptor....

    CXF发布WebService加入拦截器

    拦截器是CXF框架中的一个重要组件,它们提供了在消息发送和接收过程中插入自定义逻辑的能力。 一、什么是CXF拦截器? CXF拦截器是一种AOP(面向切面编程)的概念,它们是执行特定任务的独立单元,可以在消息传递的...

    spring集成cxf客户端和服务器端demo(含自定义拦截器)

    在本项目中,"spring集成cxf客户端和服务器端demo(含自定义拦截器)"是一个实战案例,展示了如何在Spring框架下与Apache CXF服务进行整合,实现客户端和服务端的交互,并利用拦截器来增强功能。以下是这个项目涉及的...

    10.为CXF服务器端添加自定义拦截器进行权限检查

    在拦截器中,我们需要获取请求中的用户信息,这可能来自于HTTP头、SOAP头或者其他认证机制。然后,与后端的权限系统交互,比如查询数据库或者调用安全服务来验证用户是否有访问特定服务的权限。 3. **注册拦截器**...

    13.为CXF与Spring整合发布WebService添加拦截器进行权限控制

    例如,我们可以检查请求头中的认证令牌,或者从Spring Security中获取当前登录的用户信息,判断是否具有访问Web服务的权限。如果验证失败,我们可以抛出一个`Fault`异常,阻止服务的执行。 ```java @Override ...

    webservice的cxf框架拦截器demo.rar

    【标题】:“CXF框架在Web服务中的应用:拦截器示例” 【描述】:本压缩包“webservice的cxf框架拦截器demo.rar”提供了一个关于如何在Apache CXF框架下实现Web服务拦截器的实际操作示例。CXF是一个开源的服务框架...

    CXF-拦截器-权限控制-登录校验

    2. **登录检查**:在拦截器的`handleMessage()`或`handleFault()`方法中,检查请求是否包含有效的登录凭证,例如,可以检查HTTP头中的认证信息,或者从消息上下文中获取会话信息。如果发现无效凭证,可以抛出一个...

    CXF3.1.16 +Spring4 +MyBatis + Maven自定义拦截器 WebService实例源码下载

    5. 自定义拦截器:在CXF中,拦截器用于在消息发送或接收时插入自定义逻辑,例如认证、日志记录等。这里提到的自定义拦截器可能用于实现特定的安全或业务需求。 【描述解析】 "实现了客户端和服务端,客户端添加...

    ip黑白名单拦截器java示例

    IP拦截器的主要任务是检查请求的源IP地址,如果该地址存在于黑名单中,拦截器会阻止其访问;相反,如果IP地址在白名单中,允许其通过。这个Java示例可能包含了一个用于处理这种逻辑的类或者模块。 描述中提到的...

    WebService之自定义拦截器(server+client)

    2. **数据验证**:拦截器可以对请求参数进行检查,确保它们符合预期格式和约束。 3. **日志记录**:通过拦截器,可以方便地记录每个请求和响应的详细信息,用于调试和性能分析。 4. **异常处理**:当服务抛出异常时...

    CXF2.6 spring 提供rest服务输出xml或json等格式数据

    接下来,我们来看看如何在Spring环境中配置CXF。首先,需要在项目中添加CXF和Spring的依赖。在Maven的pom.xml文件中,可以添加如下依赖: ```xml &lt;groupId&gt;org.apache.cxf &lt;artifactId&gt;cxf-rt-frontend-jaxrs ...

    CXF和Spring整合,并且添加拦截器

    本文主要介绍了如何将Apache CXF与Spring框架整合,以及如何在整合后的系统中添加拦截器来增强服务的功能。通过这样的集成,我们可以利用Spring的管理和AOP特性,同时利用CXF处理Web服务的能力。拦截器的使用则允许...

    cxfSecurity.rar cxf加密 加拦截器

    【标题】"cxfSecurity.rar" 是一个与Apache CXF框架相关的压缩文件,它涉及到在Web服务(Webservice)环境中实现安全加密以及使用拦截器(Interceptors)的技术。Apache CXF是一个开源的服务框架,用于构建和开发...

Global site tag (gtag.js) - Google Analytics