在Celtix 和XFire 宣布合并的同年,另一个著名开源Web 服务框架Axis 的后继者Axis2 也诞生了。Axis2 并非Axis 的2.0 版,而是完全重写了Axis 的新项目。作为功能和背景都极其相似的两个项目,人们难免会将它们相提并论。在著名的Java 企业开发站点TheServiceSide 上就有一篇名为“Axis, Axis2 and CXF: Survey theWS Landscape”(地址:http://www.theserverside.com/tt/articles/content/AxisAxis2andCXF/article.html)的文章对这两个项目进行了比较,主要内容如下。

1.在特性方面:

C X F 支持W S - A d d r e s s i n g 、W S -Policy、WS-RM、WS-Security和WS-I BasicProfile。Axis2支持除了WSPolicy之外的所有这些标准,WS-Policy预计会在未来版本中得到支持;

CXF可以方便地和Spring集成在一起,Axis2不行;

Axis2支持范围更广的数据绑定,包括XMLBeans、JiBX、JaxMe、JaxBRI,以及它自己的数据绑定ADB。在Axis21.2 版中,JaxME和JaxBRI尚处于试验阶段。目前,C X F只支持J A X B和Aegis,对XMLBeans、JiBX和Castor的支持将在CXF 2.1版中实现;

Axis2支持多语言,除了Java版本,尚有C/C++版本。

2.在开发方面:

Axis2更像一个微型服务器。Axis2被打包成一个WAR,可部署到任何Servlet容器中,为了更方便地在运行中管理和部署服务进行专门的设计。

CXF更专注于对开发人员友好及可嵌入性。大部分配置只需使用API即可完成,与Spring紧密集成。CXF强调代码优先的服务开发方式。

3.建议:如果需要多语言支持,那么就采用Axis2;如果考虑到使用Java、与Spring集成,或将服务嵌入到其他程序中,那么CXF更好。

当然,并不是所有人都说好。例如,在国内的一些论坛上,就有开发者抱怨CXF 的入门比起XFire 来要复杂得多。这是可以理解的,毕竟CXF本身也比XFire 要复杂得多。为了帮助Celtix 和XFire 的开发者向新工具的迁移,其官方网站也提供了相应的迁移指南。另外一个常见的问题是和Spring AOP 相关的(如事务、安全),这在官方网站的FAQ 中也有说明。

[转载]Axis2 and CXF的比较的更多相关文章

  1. axis2与cxf区别

    1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile.Axis2不支持WS-Policy,但是承诺在下面的版本支 ...

  2. 几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较

    几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较 来源   XFire VS Axis XFire是与Axis2 并列的新一代WebService平台.之所 ...

  3. singleWsdl和wsdl区别,Axis2和CXF对比

    WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互. 其实WebSer ...

  4. 转载 WebService 的CXF框架 WS方式Spring开发

    WebService 的CXF框架 WS方式Spring开发   1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0 ...

  5. maven版axis2调用cxf服务端开发客户端(三)

    一.新建一个maven项目 二.pom.xml引入axis2依赖 <dependency> <groupId>org.apache.axis2</groupId> ...

  6. webservice主流框架Axis、Axis2、XFire、CXF的比较

    http://ws.apache.org/axis/ http://axis.apache.org/axis2/java/core/ http://xfire.codehaus.org/ http:/ ...

  7. Axis,axis2,Xfire以及cxf对比

    http://ws.apache.org/axis/ http://axis.apache.org/axis2/java/core/ http://xfire.codehaus.org/ http:/ ...

  8. Axis,axis2,Xfire以及cxf对比 (转)

    Axis,axis2,Xfire以及cxf对比   http://ws.apache.org/axis/ http://axis.apache.org/axis2/java/core/ http:// ...

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

    CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长.   CXF:http://cxf.apache.org/ 是由过去的 ...

随机推荐

  1. 为Chrome多账户添加单独的快捷方式

    Chrome的多账户功能非常好用,每个账户都有自己的独立的收藏夹.个人设置等.但是,当你要使用的账户不是默认账户时,必须经过一个切换的操作.本文将简单的介绍一个如何各账户添加快捷方式,从而实现直接登陆 ...

  2. IOS设置UIView的边框为圆角

    iOS 系统自带的 View 组件都是正方形的,看起来都太生硬,有时候我需要变成圆角形式,如下图:    具体的实现是使用QuartzCore库,下面我具体的描述一下实现过程:    •    首先 ...

  3. Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

    Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribu ...

  4. 15 个 Docker 技巧和提示

    CLI(Command Line Interface,命令行) 好的 docker ps 输出 将 docker ps 输出通过管道重定向到 less -S,避免折行: docker ps -a |  ...

  5. remeber me即记住我功能

    1.登录过程中的记住我功能如图: 2.这样在登录认证的时候,客户端会传递两个cookie:remember_token和Tsession 3.即使客户端不传递cookie中的Tsession,只传递r ...

  6. 记一次有惊无险的Linux数据恢复过程

    问题阶段 起因: 昨天晚上思路不是很清晰(上了一天班回来有点蒙),还是强忍着疲惫想搞事情,结果悲剧了… … 本来想拿SD卡做一张linux烧录卡,烧录脚本是很久以前写的,有git记录,一直不成功,就回 ...

  7. django发送邮箱

    要用django发送邮箱之前需要在setting中配置一下 EMAIL_HOST = 'smtp.qq.com' EMAIL_PORT = 25 EMAIL_HOST_USER = 'xxx@qq.c ...

  8. mysql行转列,单列转多行

    行转列 使用CASE语句: SELECT SUM(CASE USER_NAME='A' THEN KILLS END) AS 'A', SUM(CASE USERNAME='B' THEN KILL ...

  9. smarty在循环的时候计数来显示这是第几次循环的功能

    想必有很多人比较喜欢这个smarty循环的时候有个变量增加的功能或比较需要这个功能吧?其实不需要额外的变量,当然你也许根本用不了.我们用smarty内置的就可以了.就是smarty有foreach和s ...

  10. IDEA如何打包可运行jar的一个问题

    转载:http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用, ...