Apache CXF, Apache Axis2 and Spring WS are web service framework,
which is used to create web service using these engines.
I tried to jot down some points of CXF,Axis2 and Spring WS frameworks:
Apache
Axis2
|
Apache
CXF
|
Spring WebServies
|
Apache License 2.0
|
Apache License 2.0
|
Apache License 2.0
|
Axis2 supports multiple language like c,c++ and
java
|
Apache CXF support Java
|
Spring web Services supports java
|
Support Contract First and Contract Last approach
Web Service Creation
|
Support Contract First and Contract Last approach
Web Service Creation
|
Support only Contract First approach creating web
service
|
Axis2 supports a wide range of data bindings,
including Jaxb,JaxME,JaxBRI ,XML Beans and ADB(Axis Data Binding)
|
Apache CXF Supports limited bindings like JAXB,
Aegis, XMLBeans, JiBX and Castor
|
Spring Web service support limited data bindings
such as JAXB,JiBX,XMLBeans ,Xstream and Castor
|
Axis2 is compatible with Spring Framework
|
Apache CXF has better integration with spring
framework
|
Spring Web Service has better integration than
CXF with spring framework
|
Axis2 supports limited WS-* compliances
|
Apache CXF supports WS-Addressing, WS-Policy,
WS-RM, WS-Security, and WS-I BasicProfile,WS-SecurityPolicy,
WS-MetadataExchange,WS-Discovery,WS-SecureConverstation, and WS-Trust
(partial).
|
Spring WebService
supports limited WS-* compliances
|
Axis2 does not support.
|
Apache CXF 2.3 added support for the Tuscany
implementation of Service Data Objects as alternative data binding
|
Spring WebService does not support.
|
Rampart is the Axis2 security module, supporting
WS-Security, WS-SecurityPolicy, WS-SecureConversation, and WS-Trust. Apache
Rampart is implemented as pair of modules like rampart.mar and rahas.mar.
Also, Rampart uses WSS4J to perform the core WS-Security functionality, and
provides extended security functionality.
|
Apache CXF uses WSS4J to perform WS-Security.
WSS4J provides an implementation of the WS-Security standards like soap
message security, X.509 certification token profile, SAML token profile,
Kerberos token profile and basic security profile.
|
Spring WebService uses WSS4J to perform
WS-Security and Acegi based
Spring-Security can be used
|
Apache Axis2 provides WS-RM functionality by
using Apache Sandesha2, It is provide the WS-RM Implementation.
|
Apache CXF provide the WS-RM implementation.
|
Spring WebService does not support WS-RM.
|
Axis2 does not have better support of OSGI
Framework.
|
Apache CXF provide better support of OSGI
Framework
|
Spring WebService provide better support of OSGI
Framework
|
So, these web services frameworks have some advantages over
each other such as Apache CXF and Axis2. But Spring WS is a minimal web
services framework, it doesn’t have much advantage over Apache CXF.Also, Apache
CXF has better integration with spring framework.