基于CXF的配置以及拦截 (ssm+cxf)

本文详细介绍了基于CXF的服务端配置,包括pom文件、服务端配置、接口暴露、拦截器设置以及web.xml配置,强调了加载配置文件时可能出现的问题。此外,还讲解了客户端如何下载服务、配置pom文件、设置拦截器和测试调用服务的步骤。文章以实际操作为例,帮助读者理解SSM+CXF的整合应用。
摘要由CSDN通过智能技术生成

昨晚合租的一个小弟弟问我CXF的问题,配置正常,但是服务端一直发布不成功,项目也不报错,后面发现原因是配置文件加载问题,需要子父容器分别加载。一下子勾起了我的好奇心,今天正好不忙,于是研究一番。

一、服务端

首先上一下配置文件:

1. pom文件

定义下版本,mvn中最新都到3.3.x了,我们用3.1.6.  Spring 4.x与CXF 2.*不兼容

​<cxf.version>3.1.6</cxf.version>
<!--cxf-->
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxws</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-core</artifactId>
      <version>${cxf.version}</version>
    </dependency>

​

2. cxf 的配置-服务端

我加了拦截器,不需要可自行注释。我看到很多博客都去引了cxf的三个配置文件,其实不需要的,3.0.x以后的版本都不需要去引。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                           http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">



    <!--jaxws:endpoint发布soap协议的服务,无接口的类-->
    <jaxws:endpoint id="hellocxf" address="/hellocxf" implementor="com.basic.demo.cxf.webservice.HelloCXF"/>

    <!--jaxws:server发布SOAP协议的服务 ,有接口的实现类 -->
    <!--<jaxws:endpoint id="helloFacade" address="/helloFacade" implementor="com.basic.demo.cxf.impl.HelloFacadeImpl"/>-->


    <!-- 相当于使用endpoint进行服务发布   无需拦截器直接注释-->
    <jaxws:endpoint id="helloFacade"
                    implementor="com.basic.demo.cxf.impl.HelloFacadeImpl" address="/helloFacade" >
        <!-- 配置IN拦截器  -->
        <jaxws:inInterceptors>
            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
            <bean class="com.basic.demo.cxf.inteceptor.AuthInterceptor"></bean>
        </jaxws:inInterceptors>

    </jaxws:endpoint>
</beans>

3. 需要暴露服务的类

3.1. 直接暴露的类

类上需要加 @WebService 注解

package com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值