环境:CXF 2.6.3
IDE: eclipse for javaEE JUNO
这系列文章都是看书看视频的笔记 如果有错误欢迎指正^_^
过程是比较简单的。CXF的程序用现成的 不讲如何开发JAX-WS或者JAX-RS
1.创建项目(动态web项目)在 web-inf/下导入CXF和其他第三方包
2.修改web.xml 增加spring配置:
在web.xml中增加启动spring的配置和CXF的有关配置
配置内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>spring_cxf</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/beans-server.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping> </web-app>
beans-server.xml是指定的spring配置文件(具体解释可以看:http://blog.csdn.net/sapphire_aling/article/details/6069764)
beans-server.xml的内容如下,在spring的配置中增加CXF的内容:
<?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" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> <!-- 导入 CXF 扩充XML标记库,用于在Spring启用WebService标记 --> <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" /> <!-- CXF 提供的内置拦截器 --> <bean id="inLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" /> <bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> <!-- 配置方案一 使用JAX-WS标准配置jaxws:endpoint,发布服务 --> <!-- id:spring bean标识,implementor:服务实现类,address:服务发布路径 --> <jaxws:endpoint id="merchant_1" implementor="com.cxfdemo.server.service.impl.IMerchantServiceImpl" address="/m_1"> <!-- 可选配置入口拦截器 --> <jaxws:inInterceptors> <ref bean="inLoggingInterceptor" /> </jaxws:inInterceptors> <!-- 可选配置出口拦截器 --> <jaxws:outInterceptors> <ref bean="outLoggingInterceptor" /> </jaxws:outInterceptors> </jaxws:endpoint> <!-- 配置方案二 使用JAX-WS标准配置jaxws:endpoint,发布服务 --> <!-- id:spring bean标识,serviceClass:服务实现接口,address:服务发布路径 --> <jaxws:server id="merchant_2" serviceClass="com.cxfdemo.server.service.IMerchantService" address="/m_2"> <!-- 注入:服务实现类 --> <jaxws:serviceBean> <ref bean="merchantService"/> </jaxws:serviceBean> <!-- 可选配置入口拦截器 --> <jaxws:inInterceptors> <ref bean="inLoggingInterceptor" /> </jaxws:inInterceptors> <!-- 可选配置出口拦截器 --> <jaxws:outInterceptors> <ref bean="outLoggingInterceptor" /> </jaxws:outInterceptors> </jaxws:server> <!-- 服务实现类 --> <bean id="merchantService" class="com.cxfdemo.server.service.impl.IMerchantServiceImpl" /> </beans>
以上有两种方式
- 使用jaxws:endpoint 和代码里使用EndPoint是差不多的 配置服务实现类和地址即可(也可以增加拦截器等;
- jaxws:server 方式 这和JaxWsServerFactoryBean的使用差不多 配置服务类配置地址 还有服务的实现类
以上完成就可以运行了:
可见运行正常
JAX-RS同理 只需要修改spring配置文件即可:
<?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" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> <!-- 导入 CXF 扩充XML标记库,用于在Spring启用WebService标记 --> <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" /> <!-- CXF 提供的内置拦截器 --> <bean id="inLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" /> <bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> <jaxrs:server id="merchantrs" address="/"> <jaxrs:serviceBeans> <ref bean="merchantService"/> </jaxrs:serviceBeans> <jaxrs:extensionMappings> <entry key="json" value="application/json" /> <entry key="xml" value="application/xml" /> </jaxrs:extensionMappings> <!-- 可选配置入口拦截器 --> <jaxrs:inInterceptors> <ref bean="inLoggingInterceptor" /> </jaxrs:inInterceptors> <!-- 可选配置出口拦截器 --> <jaxrs:outInterceptors> <ref bean="outLoggingInterceptor" /> </jaxrs:outInterceptors> </jaxrs:server> <!-- 服务实现类 --> <bean id="merchantService" class="com.cxfdemo.server.service.impl.IMerchantServiceImpl" /> </beans>
以上的代码来自北风网的视频课程的源代码(太懒了就没自己重写个webservice) 这里以它的代码来做笔记用(不是广告的说..哎~)
相关推荐
本实例将介绍如何将Spring与CXF集成,以实现Webservice的发布和调用,并涉及拦截器的配置。 首先,我们来看`spring与cxf集成配置小实例`的服务器端配置。在`cxf_test_spring_server.zip`中,你将会找到服务器端的...
本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...
1. **Spring与CXF结合**: Spring框架提供了灵活的依赖注入和AOP(面向切面编程)特性,可以方便地集成各种服务组件。CXF作为Web服务提供商,它支持SOAP和RESTful两种风格的服务,能够与Spring无缝对接。通过Spring...
- **易于集成**:Spring的DI和AOP机制可以与CXF的Web服务组件无缝集成,简化服务的创建和管理。 - **灵活性**:Spring支持多种数据访问和事务管理策略,可以灵活地处理Web服务背后的业务逻辑。 - **测试友好**:由于...
本教程将围绕"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合进行详细讲解,旨在帮助开发者理解如何在IDEA(IntelliJ IDEA)环境中搭建一个基于Maven的Spring MVC项目,并结合Apache CXF实现Web服务的消费与提供。...
【标题】"webservice=...通过研究这两个项目,你可以学习到如何在 Maven 项目中集成 Spring 和 CXF,如何编写和发布 Web 服务,以及如何在 Java 客户端中消费这些服务。这将有助于提升你在 Web 服务开发领域的技能。
3. Apache CXF框架:学习CXF的主要功能,如服务发布、客户端生成、支持多种协议和绑定格式,以及与Spring的集成。 4. CXF和Spring的整合:了解如何在Spring应用中配置和使用CXF,利用Spring的ApplicationContext...
【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...
本文将详细讲解如何将Spring与CXF集成,以实现Web Service(包括HTTPS安全通信)。 首先,Spring是一个开源的Java平台,它提供了一个全面的编程和配置模型,用于简化Java应用的开发。Spring框架的核心特性包括依赖...
Apache CXF与Spring的集成使得开发和部署Web服务变得更加便捷。通过Spring,我们可以利用其依赖注入(DI)和面向切面编程(AOP)特性,更方便地管理CXF组件。下面将详细阐述如何构建一个基于CXF和Spring的Web服务...
7. **CXF与Spring集成**:CXF与Spring框架集成紧密,可以方便地将服务组件化,利用Spring的依赖注入和管理特性。通过Spring配置,可以实现服务的自动发布和生命周期管理。 8. **安全与认证**:CXF支持多种安全机制...
3. **Spring与CXF的集成**:Spring和CXF的结合使得Web服务的开发、部署和调用更加简单。Spring可以管理CXF的生命周期,而CXF则可以利用Spring的配置和依赖注入能力。通过Spring的ApplicationContext,我们可以声明式...
在本文中,我们将深入探讨如何将Apache CXF 2.7与Spring 3框架集成,以便在Java环境中创建和消费Web服务。这是一个重要的技术组合,因为它允许开发人员利用Spring的依赖注入和管理能力,以及CXF的强大Web服务支持。...
当我们将两者结合时,可以利用Spring的管理能力来轻松地集成和部署CXF Web服务。下面将详细阐述如何在Spring环境中整合CXF开发Web Service,并介绍所需的关键jar包。 首先,我们需要理解Spring与CXF整合的基础。...
本文将深入探讨如何整合Spring Boot与CXF,以便利用Spring Boot的便捷性和CXF的强大Web服务功能。我们将通过源码分析,了解整合过程中的关键步骤和核心配置。 首先,Spring Boot是Spring框架的一种快速开发工具,它...
综上所述,这个项目为Java开发者提供了一个使用Spring和CXF构建Web服务的起点,涵盖了从基础架构到具体实现的多个层次,有助于快速启动Web服务开发,并且能够在MyEclipse环境中无缝集成,方便进行进一步的定制和扩展...
文件"java webservice CXF JAX-WS(SOAP) + JAX-RS(RESTfull).docx"可能包含了具体的示例代码和详细步骤,帮助理解如何在SSH环境中集成并使用CXF和JAX-RS。建议参考文档中的内容进行实践操作,以加深理解。 总的来说...
基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...
在给定的压缩包文件中,"WebService_Server"可能包含了SpringBoot与CXF集成的服务器端代码示例,而"Webservice_Client"则可能包含CXF客户端调用服务的示例代码。这两个部分可以作为学习和实践SpringBoot发布和消费...
CXF WebService整合Spring示例工程代码demo可以直接导入eclipse。参照网页http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html 完成的webService服务提供。 大致步骤: 1.引入cxf和其他需要的jar包,(本...