Axis、Axis2和CXF:俯瞰WS风景

创建WebService的几种方式简介(EndPoint、JAX-WS、CXF、axis2、自定义Servlet+Document解析) 一、什么是WebService 2013年初出校门,便开始了北漂之旅。闲暇时间就看程序方面的书籍,其中李刚老师的《疯狂XML讲义》也曾拜读过,那时便有了WebService的初步认知,Spring+Cxf或Spring+axis2也曾练过,未能在项目上大刀阔斧。直到2016年底,给甲方实施企业服务总线(ESB)的时候 ,开始各种天花乱坠的WebService服务、规范开始应用,也... 阅读详情

从事open source 的 web services开发是令人兴奋的。去年下半年发布了两个下一代的web services框架,他们都在Apache软件基金会下面。这两个框架分别是,在2006年四月末发布1.0的Apache Axis2,目前处在1.3的候选发布版本阶段(译注:1.3已经发布);Apache CXF,它在2007年7月初发布了2.0版本(以CXF命名的第一个发布版本)。

这两个框架都是从已有项目中进化过来的。Axis2来自众所周知的Axis 1.x 系列。CXF按照字面来说是XFire和Celtix两个项目的后续,这两个项目融会了他们的代码库和开发团队就有了CXF。不论从哪个角度来看新旧项目之间都有显著区别。Axis2完全从头重写了Axis,使用了能够让功能更容易扩展的新模块架构。CXF从XFire和Celtix这两个起源上也做了广泛重构。

这引发了一些问题。已有使用Axis 1.x,XFire或者是Celtix的应用程序是否要移植到这些项目的新版本上呢?如果一个开发者决定要移植他(她)的应用到其中的一个新版本上,那他应该用哪个呢?相反的,如果某人正在从头开始开发新的web service又无需考虑移植,那他(她)又应该用哪个呢?是否一个框架生来就优于其他的呢?

让我们逐个处理这些问题。首先,已有应用是否需要移植?回答这个问题很大程度上依赖于你的应用到达了生命周期的哪个阶段。对于一个非常稳定成熟的项目,如果在可预计的未来很少或者根本不需要变化,那它可能就不需要移植,因为当前的框架很好的满足了需求。如果应用的性能或者功能受bug影响,那移植就值得做,特别是对使用Axis 1.x 的用户来说,因为围绕Axis的大部分开发者社区都把资源转向了Axis2。Axis 1.5 版本虽然正在进行中,但可能要数月才能完成。

对于需要移植的项目来说,最简单的就是移植到当前框架的下一个版本上。Axis2和CXF都为开发者提供了从之前版本到新版本的移植技巧指南,但他们都没有为web service从一个框架移植到另一个框架提供工具或者指南。尽管如此,对这类移植来说,查看所有可用的选择都是有价值的。在web service开发上Axis2和CXF走了不同的路子,对某些开发者来说,其中一条总比另一条需要付出更多。

这给我们带来了比较Axis2和CXF二者功过的好的角度。当然有二者很多可比较的地方,web services框架都必然地要满足所有相同需求,但因为这二者都非常年轻,都有某些领域比其他的做得更好。主要不同列在下面:

    * CXF支持WS-Addressing,WS-Policy,WS-RM,WS-Security 和 WS-I 基本规范。Axis2支持除WS-Policy之外的所有协议,WS-Policy也会在即将到来的版本支持。

    * CXF很容易和Spring集成,而Axis2不。

    * Axis2支持范围更大的数据绑定,包括XMLBeans、JiBX、JaxMe和JaxBRI同时还有它自带的数据绑定方式--ADB。注意对JaxME和JaxBRI的支持在Axis2 1.2中仍然处在实验阶段。CXF目前仅支持JAXB和Aegis,对XMLBeans、JiBX和Castor的支持将会在CXF 1.2中实现。

    * Axsi2支持多种语言--在java版本之外还有C/C++的版本可用。

然而在比较这些框架时,比较他们开发web services的方法与比较它们的特性同样重要。从开发者的角度看,这些框架彼此之间完全不同。

1.Axis2走的路子在很多方面都像是一个微型的应用服务器。Axis2打包成WAR,这样它就能发布到像Tomcat之类的servlet容器中,它被设计的使web services更容易管理和发布。Axis2的Web管理模块允许Axis2在应用运行过程中动态配置--新的服务可以上传、激活或者使其无效、他们的参数也可以改变。管理UI也允许模块在一个或者更多的正在运行的服务中生效。唯一不利的一面是,为达到这些目的使用UI所作的改变不能被持久化--servlet容器重启之后就失效了。

Axis2有利于web services的独立,不依赖其他应用;提供了广泛多样的功能;通过模块化架构为添加新功能(随时间流逝,这总是可能的)提供了一个不错的模型。某些开发者或许会发现为实现他们的需求用Axis2有些太麻烦太笨重。这些开发者可能更喜欢Apache CXF。

2.CXF专注于开发者的高效和可嵌入性。大部分的配置通过API而不是繁琐的XML文件来实现,Spring的集成是个重点,包括支持Spring 2.0,CXF的API和Spring的配置映衬的相当紧密。CXF着重代码优先的设计,简单的API使从已有应用中开发服务更容易(嵌入性也有利于这点)。

不论你选择了哪个框架,你都将从活跃稳定的开源社区中受益。每个框架都有公司背景:Axis2源自WSO2,CXF源自Iona。两者都有活跃的开发者社区。Axis2已经存在很久了,但是CXF进步也很快。我的建议是:如果多语言支持是重要的,Axis2是很明显的选择。如果你在意与像Spring之类的项目紧密集成的Java实现,CXF是更好的选择,特别是对把web services嵌入其他程序的应用来说。如果这些项目中的新特性对你不太重要,而你又相对来说比较满意Axis1,那么可以考虑继续使用Axis1并紧跟最新的可用版本,直到有业务上的原因需要移植。 

Axis和CXF的比较 在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于服务开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。 Axis2的最新版本是1.3.CXF现在已经到了2.0版本。 这两个框架 都是从已有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来。CXF则是XFire 阅读详情

相关推荐

使用Apache CXF调用Axis2接口服务的详细步骤

Apache CXF 是一个开源的、全面的服务框架,提供了广泛的服务开发和消费技术。它主要面向服务总线(Service Bus)架构,致力于简化和标准化企业服务的创建和消费过程。CXF 在继承自 Celtix 和 XFire 的基础上,进一步强化了服务架构的灵活性和可扩展性。CXF 支持包括 SOAP、XML、JSON 等在内的多种消息传递协议和数据绑定格式,以及 RESTful 风格的 Web 服务。

weixin_30533301的博客 829

cxf和axis2使用有感

CXF框架 个人不喜欢使用wsimport工具: 1.考虑到远端的服务接口发生变化,本地的接口还需要重新同步下 2.项目中无端多了些冗余的代码 这样我们选择cxf的动态调用接口吧,使用DynamicClientFactory这个接口,到可以避免上面的问题。但是DynamicClientFactory在首次使用时会生成所有的类,你可以在日志中看到如下: 信息: Created classes:...

weixin_34124577的博客 167

cxf与axis2区别

cxf与axis2框架的区别,用于webservice开发的两个重要框架

axis2 和 cxf 实现 webService

基于 axis2 和 cxf 实现 webService

快乐的小三菊的博客 1109

Axis2与CXF的对比

描述了Axis2与CXF的特点、区别及适用场合,并对比了效率

SpringBoot开发WebService之CXF示例

借鉴网上例子,弄了一个SpringBoot开发WebService之CXF示例。

Axis、Axis2和CXF比较

³新一代的Web Services 框架如Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的Axis 1.x 系列演化过来,而Apache CXF 则是由Celtix和 XFire 项目整合而生,并且刚刚发布了2.0.2 的最新版本,不过仍是Apache 的一个孵化项目。 ³Axis2 是对Axis 进行了彻底的重写的一个新项目了,它使用了新的模块化架构,更方便于功

DAO的博客 9978

C++新手也能搞定!Windows下Cesium-Native编译全流程(附依赖下载技巧)

本文为C++新手详细介绍了在Windows系统下编译Cesium-Native库的全流程。重点针对网络环境不佳的情况,提供了手动下载依赖库的实用技巧,并指导用户使用CMake配置、生成解决方案,最终完成编译与测试验证,帮助开发者成功构建这一处理3D地理空间数据的C++运行时库。

weixin_28839549的博客 380

使用Apache CXF和Apache Axis2实现Web Services客户端

记录:314 场景:在Spring Boot微应用上,使用Apache CXF框架实现Web Services客户端,调用Web Services服务端;使用Apache Axis2框架实现Web Services客户端,调用Web Services服务端。

zhangbeizhen18的博客 2323

从涡流求解器到瞬态场:Maxwell 3D里无线充电仿真,选对求解器能省一半计算时间

本文深入探讨了Maxwell 3D在无线充电仿真中涡流求解器与瞬态求解器的选择策略,帮助工程师优化计算效率与精度。通过对比分析两种求解器的适用场景、性能差异及实战技巧,揭示如何根据频率特性、材料非线性和动态过程需求做出精准选择,可节省高达50%的计算时间。特别针对3D线圈模型的无线充电系统设计提供了专业建议。

weixin_26861329的博客 230

C语言专升本编程题

湖南省专升本选拔考试,C语言程序设计内部习题

weixin_45729947的博客 2116

Axis2与CXF的区别

对比Axis2和CXF jws的发布对java webservice框架产生了巨大的影响,经过大浪淘沙,目前java开发webservice的框架主要包括axis2和cxf。 axis2和cxf都是apache旗下的产品,但是其目的不同,导致webservice开发方法也不一样。两个框架都得到了开发者的支持。 比较这两个框架的Web Service开发方法与比较它们的特性同样

phy1997的博客 9346

TVBox源总失效?不如自己搭建一个!告别不稳定!手把手教你自建TVBox源,全网资源尽掌握!

🚀 TVBox源总失效?别慌!手把手教你自建TVBox源,打造一个稳定、海量、无广告的影视宝库!从此告别片荒,尽享丝滑观影体验!

XiaoqiangClub的博客 5448

cxf与axis2的比较

转载地址:http://blog.youkuaiyun.com/bluishglc/article/details/6444918 CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长。   CXF:http://cxf.apache.org/ 是由过去的Celtix和XFire两个框架合并而来,

white_smile的专栏 4632

产品包装质检实战:基于YOLOv5的智能包装合格检测系统全流程指南

摘要: 针对产品包装质检效率低、漏检率高的问题,本文提出基于YOLOv5的智能检测系统。系统通过采集包装缺陷数据(破损、缺标、封装不良等),利用YOLOv5实现多类别缺陷识别(准确率≥95%),并开发Flask Web界面实现检测可视化与报告生成。实验表明,该系统在30帧/秒的产线速度下可稳定运行,显著提升质检效率。项目涵盖数据标注、模型训练、系统开发全流程,具有工业落地价值,适用于智能制造场景的自动化质检需求。(149字)

LXY_LOVE36的博客 93

华为od 面试八股文_数据库_01_含答案

华为od 面试八股文_数据库_01_含答案

MISAYAONE的博客 2165

CXF和Axis的比较

CXF和Axis的比较  在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于服务开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。 Axis2的最新版本是1.3.CXF现在已经到了2.0版本。 这两个框架 都是从已有的开源项目发展起来的。Axis2是从Axis1.

ailihx的专栏 1351

【人工智能】OpenClaw网关API速率限制报错全解析 API rate limit reached. Please try again later.

对应HTTP标准状态码为429(请求过多)。该报错集中出现在OpenClaw GATEWAY DASHBOARD的聊天会话界面,核心特征为:用户最初以为是单一模型服务商的问题,先后更换OpenAI、Gemini、Ollama、Moonshot、Mercury-2等多个主流大模型API后,该报错仍稳定触发,尤其在执行复杂任务时高频出现。

奶爸的编程之路,也就一周冷个三天 6459

Axis1、Axis2、Xfire、CXF的区别

CXF  最新版本: 2.2.2  开源服务框架,可以通过API ,如JAX-WS , 构建和开发服务。服务可以使多种协议的,例如SOAP, XML/HTTP, RESTful HTTP,  CORBA ,并可以工作与多种传输协议之上,如HTTP ,JMS ,JBI 。  主要特性  •   支持 Webservice 标准:包括

西昆仑 2358

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

如何正确地在Axis、Axis2和Apache CXF之间抉择?

 如何正确地在Axis、Axis2和Apache CXF之间抉择?关键字: axis axis2 cxf spring 新一代的 Web Services 框架如 Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的 Axis 1.x 系列演化过来,而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过

ailihx的专栏 1172

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java主流Web Service框架介绍:CXF和Axis2

CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长。   CXF:http://cxf.apache.org/ 是由过去的Celtix和XFire两个框架合并而来,CXF在java社区有广泛的接受度是得益于它能很好的集成Spring。我认为CXF最突出的两个优势是: 1.对...

252

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Axis,axis2,Xfire以及cxf对比

http://ws.apache.org/axis/ http://axis.apache.org/axis2/java/core/ http://xfire.codehaus.org/ http://cxf.apache.org/ axis最新的版本为April 22, 2006 axis2最新的版本为19 - Dec - 2010    1.5.4

China2010pan的专栏 943

Axis1,Axis2,Xfire,CXF区别

XFire VS Axis XFire是与Axis2 并列的新一代WebService平台。之所以并称为新一代,因为它: 1、支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等; 2、使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现; 3、容易上手,可以方便快速地从pojo发布服务; 4

linjinxiao的专栏 746

jax-ws cxf_带有CXF的WS-Security

像本系列前面的文章中讨论的Axis2和Metro Web服务堆栈一样,Apache CXF(您在“ CXF简介 ”中遇到了)支持使用WS-Security SOAP扩展技术来为消息提供全方位的与安全性相关的功能。交流。 与这些其他堆栈类似,CXF使用WS-SecurityPolicy配置WS-Security处理(尽管也可以进行手动配置)。 CXF的实现的WS-Security的是基于开放...

cusi77914的博客 534
上一篇: Blob,Clob字段
下一篇: Web 服务的最佳实践: 回到基础部分,第 1 部分
daniel112
博客等级 码龄21年 24粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值