提示:下面有代码请耐心阅读,代码以图片形式展现,个别图片由于尺寸的原因显示不清,可以点击图片在新窗口中打开以进行查看.
推荐文章:
简历群发器设计以及代码实现JDK6HTTP+DOM4j
Spring2.5注释语法(上)——Spring2.5注释驱动的IoC
Spring 2.5:Spring MVC中的新特性
注意:源码已经提供下载,解压缩之后先看readme.
1.概述
CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。
2.功能特性 CXF 包含了大量的功能特性,但是主要集中在以下几个方面: 1.支持 Web Services 标准:CXF 支持多种 Web Services 标准,包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。 2.Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL 优先开发,也支持从 Java 的代码优先开发模式。 3.容易使用: CXF 设计得更加直观与容易使用。有大量简单的 API 用来快速地构建代码优先的 Services,各种 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加简化的 XML 配置方式,等等。 4.支持二进制和遗留协议:CXF 的设计是一种可插拨的架构,既可以支持 XML ,也可以支持非 XML 的类型绑定,比如:JSON 和 CORBA。 5.支持多种标准: a.支持 JAX-WS、 JAX-WSA、JSR-181 和 SAAJ; b.支持 SOAP 1.1、1.2、WS-I BasicProfile、WS-Security、WS-Addressing、WS-RM 和 WS-Policy; c.支持 WSDL 1.1 、2.0; d.支持 MTOM; 6.多种传输方式、Bindings、Data Bindings 和 Format: a.Bindings:SOAP、REST/HTTP; b.Data Bndings:目前支持 JAXB 2.0、Aegis 两种,默认是 JAXB 2.0。XMLBeans、Castor 和 JiBX 数据绑定方式将在 CXF 2.1 版本中得到支持; c.格式(Format):XML、JSON; d.传输方式:HTTP、Servlet、JMS 和 Jabber; e.可扩展的 API 允许为 CXF 增加其它的 Bindings,以能够支持其它的消息格式,比如:CSV 和固定记录长度。 7.灵活部署 a.轻量级容器:可在 Tomcat 或基于 Spring 的容器中部署 Services; b.集成 JBI:可以在如 ServiceMix, OpenESB or Petals 等等的 JBI 容器中将它部署为一个服务引擎; c.集成 SCA:可以部署在如 Tuscany 之类的 SCA 容器中; d.集成 J2EE:可以在 J2EE 应用服务器中部署 Services,比如:Geronimo、JOnAS、JBoss、WebSphere Application Server 和 WebLogic Application Server,以及 Jetty 和 Tomcat; e.独立的 Java 客户端/服务器。 8.支持多种编程语言 a.全面支持 JAX-WS 2.0 客户端/服务器编程模型; b.支持 JAX-WS 2.0 synchronous、asynchronous 和 one-way API's; c.支持 JAX-WS 2.0 Dynamic Invocation Interface (DII) API; d.支持 wrapped and non-wrapped 风格; e.支持 XML messaging API; f.支持 JavaScript 和 ECMAScript 4 XML (E4X) ,客户端与服务端均支持; g通过 Yoko 支持 CORBA; h.通过 Tuscany 支持 SCA; i.通过 ServiceMix 支持 JBI ; 9.代码生成 a.Java to WSDL; b.WSDL to Java; c.XSD to WSDL; d.WSDL to XML; e.WSDL to SOAP; f.WSDL to Service;
3.轻松与Spring集成
3.1服务端
1.定义WebService所需暴露的接口:接口中只有一个方法public String vote,只需在接口定义处添加@WebService注明此接口将要提供服务.
2.编写接口实现类:vote方法中判断username入参是否为Michael,如果是将返回重复投票
3.服务器端配置文件:需要注意两个地方,将CXF所需的配置文件import到Spring容器中,但所需的3个配置文件并不在工程里,而是在Spring容器初始化时自动创建,这里需要显示的将其import进来; 定义了一个Webservice的端点,其中id是其存放在Spring容器中的标识, implementor用于标注实现类, address提供服务的地址.
4.web.xml配置:在web.xml中只需定义Spring容器的监听器,CXFServlet和CXFServlet mapping
3.2客户端
1.客户端配置文件(仅供客户端使用Spring框架):和服务器端得配置一样,也需要import相关CXF配置文件到Spring容器;同时还要使用定义客户端的bean,其中id为其存在Spring容器中的标识, serviceClass为WebService暴露接口的完全限定名, address为提供服务的地址.
2.客户端调用(使用Spring容器):只需创建Sping容器根据ID获取ISurveyService并调用所需方法
3. 客户端调用(java语言客户端):初始化代理工厂并将接口类型和服务地址设置近工厂类,就可获得所需服务
3.3WSDL
下面将包结构和运行环境贴出来
其实最庞大的是他依赖的包
|
相关推荐
本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...
"CXF3.1.16 +Spring4 +MyBatis + Maven自定义拦截器 WebService实例源码下载" 这个标题揭示了该项目的核心技术栈,包括: 1. CXF 3.1.16:这是一个开源的服务框架,用于构建和开发服务,支持SOAP和RESTful Web服务...
当我们谈论"CXF3.0.9+SPRING开发webservice例子"时,这意味着我们将探讨如何结合这两个强大的工具来创建和消费Web服务。 首先,让我们深入了解CXF。Apache CXF是基于Java的,它支持多种Web服务标准,如SOAP、...
标题“简单cxf+spring构建webservice服务”指的是使用Apache CXF框架与Spring框架结合来创建Web服务。Apache CXF是一个开源的Java框架,它允许开发者创建和消费各种Web服务,包括SOAP和RESTful风格。Spring框架则为...
在本文中,我们将深入探讨如何使用Apache CXF 3.0.2版本和Spring 3.2.14框架来创建一个基于WebService的文件传输应用。Apache CXF是一个流行的开源框架,用于构建和开发Web服务,而Spring则是一个全面的企业级应用...
标题 "cxf+spring=webservice CXF 应用开发" 暗示了我们将讨论如何结合Apache CXF和Spring框架来创建Web服务。Apache CXF是一个开源的Java框架,主要用于构建和部署SOAP和RESTful Web服务。Spring框架则是一个广泛...
【描述】"maven+spring+cxf 的webservice开发源码,欢迎大家指点,谢谢"表明这个项目是一个开源的学习资源,包含了实际的源代码,开发者可以借此学习如何在实际项目中使用Maven、Spring和CXF来开发Web服务。...
【标题】:“WebService+CXF+Spring”是一个关于在Java环境中使用Apache CXF框架与Spring框架集成实现Web服务的专题。Apache CXF是一个开源的Web服务框架,它允许开发人员创建和部署SOAP和RESTful Web服务。Spring...
标题中的“xfire+spring+maven构建webservice服务器和客户端”揭示了本教程将围绕三个主要技术进行讨论:XFire、Spring和Maven。这三者都是Java开发中不可或缺的工具,尤其在构建Web服务方面。 XFire是早期的一个...
标题“Spring + CXF + 注解方式(webService)”揭示了本次讨论的核心内容,即如何使用Spring框架与Apache CXF结合,并通过注解的方式来实现Web服务。Apache CXF是一个开源的服务框架,它允许开发者创建和消费各种不同...
【标题】"CXF+Spring 无包"指的是在不依赖特定打包工具(如Maven或Gradle)的情况下,利用Apache CXF和Spring框架构建Web服务的实例。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种Web服务,包括SOAP和...
本教程将围绕"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合进行详细讲解,旨在帮助开发者理解如何在IDEA(IntelliJ IDEA)环境中搭建一个基于Maven的Spring MVC项目,并结合Apache CXF实现Web服务的消费与提供。...
### 源码分析:Spring Boot + CXF 实现WebService服务端 #### 一、概述 随着企业级应用之间的交互需求日益增长,跨平台、跨语言的服务调用变得尤为重要。WebService作为一种成熟且广泛采用的技术标准,能够很好地...
标题"webservice(cxf)与spring整合源码+文档"表明这是一个关于如何将CXF Web服务与Spring框架集成的学习资源。文档和源代码一起提供,使得学习者能够通过实践来理解这一过程。 描述中提到"webservice与spring整合...
标题 "spring+cxf编写简单的webservice接口" 涉及的是使用Spring框架和Apache CXF库来创建Web服务接口的过程。这是一个在Java开发中常见的任务,特别是对于构建可互操作的、基于SOAP协议的Web服务。以下是这个主题的...
9. **源码分析**:深入理解CXF和Spring的源码有助于更好地定制和优化服务。例如,了解CXF如何解析WSDL,Spring如何管理服务实例,以及两者之间的协同工作原理。 10. **持续集成与自动化测试**:在实际项目中,使用...
在SSM中,Spring作为基础框架,负责管理整个系统的组件,包括数据库操作、业务逻辑和服务接口等,通过Bean容器实现对象的创建、配置和管理。 2. **SpringMVC**:SpringMVC是Spring框架的一个模块,专为构建Web应用...