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.
APache CXF seems to have upper hand as it supports more Industry standard wrt WS-*
ReplyDeleteAll three framework uses Apache WSS4j for WS-Security