Spring整合CXF之添加拦截器

今天主要来讲解下如何在Spring整合CXF环境下,添加拦截器;

 

这里我们给下官方的参考文档:http://cxf.apache.org/docs/jax-ws-configuration.html

 

结合官方文档,我们在前面的实例基础上,加代码:

 

bbb.jpg

 

首先我们把前面的自定义拦截器 MyInterceptor 贴进来。

 

然后我们打开spring配置文件,applicationContext.xml

 

根据官方文档:我们通过jaxws:inInterceptors jaxws:outInterceptors 这两个标签来添加in拦截器和out拦截器

 

我们修改下jaxws:endpoint 节点:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<!-- 定义服务提供者  -->

<jaxws:endpoint

    implementor="#helloWorld"

    address="/HelloWorld">

    <!-- 添加in拦截器 -->

    <jaxws:inInterceptors>

         <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>

         <bean class="com.java1234.interceptor.MyInterceptor"/>

    </jaxws:inInterceptors>

    <!-- 添加out拦截器 -->

    <jaxws:outInterceptors>

         <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>

    </jaxws:outInterceptors>

</jaxws:endpoint>

 

这里 我们添加了两个in拦截器,一个是cxf自带的LogginInInterceptor拦截器,还有一个是我们自己定义的MyInterceptor拦截器,

主要用作权限判断;

 

out拦截器,我们还是用了一个cxf自带的LogginInInterceptor拦截器;

 

这样我们就完事了;我们可以看到。用spring我们可以很轻松的完整拦截器的配置;

 

接下来测试下话,我们还是用前面开发的WS_Client来测试,因为请求的websercie地址变了。

所以我们用wsdl2java工具重新生成下新的客户端代码;(具体操作大家看前面的帖子,这里就不再重复叙述)

 

我们测试的话,大家可以先把客户端的拦截器注释掉,我们会发现会报错,说找不到header消息;

 

假如密码弄错,会报用户名或者密码不对;

 

我们用正确的密码,webservice接口会返回正确的结果。

 

OK。今天就到这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值