本文介绍CXF+Spring使用注解的集成,用到的接口等java类与 XFire+Spring整合相同,不再给出,只给出配置信息。使用CXF版本为2.6.2,Spring为3.1.1,测试环境为Tomcat6.0。 CXF2.6.2下载

1.建立一个Web工程,引入相应的jar包,最精简jar包下载:

commons-logging-1.1.1.jar
cxf-2.6.2.jar
geronimo-jaxws_2.2_spec-1.1.jar
jaxb-api-2.2.6.jar
neethi-3.0.2.jar
org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar
org.springframework.aop-3.1.1.RELEASE.jar
org.springframework.asm-3.1.1.RELEASE.jar
org.springframework.beans-3.1.1.RELEASE.jar
org.springframework.context-3.1.1.RELEASE.jar
org.springframework.core-3.1.1.RELEASE.jar
org.springframework.expression-3.1.1.RELEASE.jar
org.springframework.web.servlet-3.1.1.RELEASE.jar
org.springframework.web-3.1.1.RELEASE.jar
wsdl4j-1.6.2.jar
xmlschema-core-2.0.1.jar

2.修改web.xml,加入以下代码:

[html] view plaincopyprint?
  1. <listener>
  2. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  3. </listener>
  4. <context-param>
  5. <param-name>contextConfigLocation</param-name>
  6. <param-value>classpath:applicationContext.xml</param-value>
  7. </context-param>
  8. <servlet>
  9. <servlet-name>CXFService</servlet-name>
  10. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  11. <load-on-startup>1</load-on-startup>
  12. </servlet>
  13. <servlet-mapping>
  14. <servlet-name>CXFService</servlet-name>
  15. <url-pattern>/service/*</url-pattern>
  16. </servlet-mapping>
 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><servlet><servlet-name>CXFService</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>CXFService</servlet-name><url-pattern>/service/*</url-pattern></servlet-mapping>

3.在classpath下加入Spring配置文件applicationContext.xml,加入以下代码, 注意component-scan一定要在三个import之后,否则启动服务会报错:

[html] view plaincopyprint?
  1. <import resource="classpath:META-INF/cxf/cxf.xml" />
  2. <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
  3. <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
  4. <context:component-scan base-package="my" />
  5. <bean id="webServicesAgent" class="org.apache.cxf.spring.remoting.Jsr181HandlerMapping">
  6. <property name="urlPrefix"><value>/</value></property>
  7. </bean>
 <import resource="classpath:META-INF/cxf/cxf.xml" /><import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /><import resource="classpath:META-INF/cxf/cxf-servlet.xml" /><context:component-scan base-package="my" /><bean id="webServicesAgent" class="org.apache.cxf.spring.remoting.Jsr181HandlerMapping"><property name="urlPrefix"><value>/</value></property></bean>

4.服务端配置完成,接口定义及其他类不再给出,下面是客户端调用:

[java] view plaincopyprint?
  1. @Test
  2. public void testCXFBookService() {
  3. try {
  4. JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
  5. factory.setServiceClass(IBookService.class);
  6. factory.setAddress("http://127.0.0.1:8080/CXFTest/service/BookService");
  7. IBookService bookService = (IBookService) factory.create();
  8. System.out.println(">>>>>>>>Client: " + bookService.getBook());
  9. }
  10. catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. }

Spring+CXF之集成相关推荐

  1. spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)

    这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据: WebSer ...

  2. Spring Boot 工程集成全局唯一ID生成器 Vesta

    2019独角兽企业重金招聘Python工程师标准>>> 本文内容脑图如下: 文章共 760字,阅读大约需要 2分钟 ! 概 述 在前一篇文章 <Spring Boot工程集成全 ...

  3. Spring+SpringMVC+MyBatis集成(SSM)

    1.导入需要用到的jar包 <dependencies><!--Spring核心包--><dependency><groupId>org.springf ...

  4. redis与spring的完全集成

    2019独角兽企业重金招聘Python工程师标准>>> redis与spring的完全集成 博客分类: 缓存 下载spring-data-redis,gav如下: [html]  v ...

  5. Spring系列之集成MongoDB的2种方法,你知道嘛?

    Spring系列之集成MongoDB的2种方法,你知道嘛? MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成Mong ...

  6. 在spring boot中集成Swagger

    Swagger 在spring boot中集成Swagger 新建一个swagger项目 maven依赖 <!-- https://mvnrepository.com/artifact/io.s ...

  7. spring 项目中集成 Protocol Buffers 示例

    http://blog.csdn.net/fangzhangsc2006/article/details/8687388 本文适用于了解spring框架,同时想在spring项目中使用Protocol ...

  8. Spring Boot + Shiro 集成

    2019独角兽企业重金招聘Python工程师标准>>> Spring Boot + Shiro 集成 Shiro 是一个流行的 Java 安全框架. 其实 Spring 有一个 Sp ...

  9. Spring Boot和Spring数据JPA集成

    如今,借助于Spring Boot和spring Data,spring和JPA集成已变得轻而易举. 我要设置一个PostgreSQL服务器 docker pull postgres #run the ...

最新文章

  1. C++中operator关键字(重载操作符)
  2. Linux-4.查看网卡信息,状态
  3. 三层聚合实验的注意事项
  4. 在JDK 9中将InputStream传输到OutputStream
  5. dell服务器安装系统注意之二.(2003/xp 的sn)
  6. c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
  7. 题解 POJ 2559-SP1805 【HISTOGRA - Largest Rectangle in a Histogram】
  8. 从零开始学前端:CSS复合选择器 --- 今天你学习了吗?(CSS:Day10)
  9. 如何降低视频文件大小而又不影响视频清晰度
  10. win10/win11无损扩大C盘空间,跨盘合并C、E盘
  11. 算法复杂度和合并果子题解
  12. landesk 卸载_LANDesk软件分发在项目中的深入探索(续2)—客户端已安装应用程序的远程卸载...
  13. 好太太亮相综艺《阳光姐妹淘》,种草青年生活新方式
  14. OpenGL光源光照基础
  15. python石头剪刀布游戏代码输入格式随机数种子设置为0_Python模拟石头剪刀
  16. 使用Qt学习C语言编程2(加入工具链)
  17. linux设备模型 —— sysfs
  18. 四旋翼飞行器室内编队飞行项目整理
  19. python实现api接口
  20. B2B从销售到深度协作

热门文章

  1. 【Python】蒙特卡罗方法计算圆周率及给定随机数种子
  2. Java 设计模式之适配器模式
  3. wxWidgets:库LIB清单
  4. boost::mp11::mp_sort_q相关用法的测试程序
  5. boost::log模块使用属性关键字的示例
  6. boost::interprocess::bufferstream用法的测试程序
  7. boost::interprocess::interprocess_condition用法的测试程序
  8. Boost:演示了black-scholes option 定价内核
  9. Boost:boost::source_location的用法测试程序
  10. VTK:可视化之LabelPlacementMapper