General Features
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire (1.2) |
OracleAS 10g |
|
|
Basic Profile 1.1 Compliant |
X |
X |
X |
X |
X |
X |
X |
X |
|
Easily Create Services from POJOs |
X |
X |
X |
X |
X |
X |
X |
X |
|
Open Source |
X |
X |
X |
|
X |
X |
X |
|
|
RPC-Encoding |
X |
|
|
X |
X |
|
X [6] |
X |
|
Spring Support |
X |
X |
X |
|
|
X |
X |
|
|
REST Support |
|
X |
X |
|
|
|
X |
X |
|
IDEA Plugins |
|
X |
|
|
X |
X |
X |
Ant |
|
Eclipse Plugins |
|
X |
(STP) |
|
X |
X |
X |
Ant |
|
NetBeans Plugins |
|
|
|
|
|
|
X |
Ant |
|
JDeveloper |
|
|
|
|
|
|
|
X |
|
Hot Deployment |
|
X |
X |
|
X |
? |
X |
X |
|
Soap 1.1 |
X |
X |
X |
X |
X |
X |
X |
X |
|
Soap 1.2 |
X |
X |
X |
X |
X |
X |
X |
X |
|
Streaming XML (StAX based) |
|
X |
X |
|
|
X |
X |
|
|
WSDL 1.1 ->Code (Client) |
X |
X |
X |
X |
X |
X |
X |
X |
|
WSDL 1.1 ->Code (Server) |
X |
X |
X |
X |
X |
X |
X |
X |
|
WSDL 2.0 ->Code (Client) |
|
X |
|
? |
? |
? |
|
? |
|
WSDL2.0 ->Code (Server) |
|
X |
|
? |
? |
? |
|
? |
|
Client-side Asynchrony |
X |
X |
X |
|
|
|
X |
With BPEL |
|
Server-side Asynchrony |
X |
X |
X |
|
|
|
X |
With BPEL |
|
Policy-driven code generation |
|
X |
X |
|
|
|
|
|
Web Services related JSR standards
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire (1.2) |
Metro@GlassFish |
OracleAS 10g |
|
JAX-RPC |
X |
|
|
X? |
X |
|
X |
X |
|
JAX-WS |
|
[Early Access/Nightly] |
X |
|
|
[Early Access] |
X [5] |
|
|
JSR 181 |
X |
[Early Access/Nightly] |
X |
|
X |
X |
X |
X |
|
JSR 181 on Java 1.4 |
|
|
|
|
X |
X |
|
|
|
SAAJ (1.2/1.3) |
X |
X |
X |
X |
X |
X |
X |
X |
|
JSR 109 |
|
|
|
|
|
|
X |
X |
|
JBI |
|
|
X |
|
|
|
X |
|
Data Bindings
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS 10g |
|
XMLBeans Support |
X |
X |
X |
|
|
X |
|
|
|
Castor Support |
X |
X [9] |
|
|
|
X |
|
|
|
JiBX |
|
X |
|
|
|
X |
|
|
|
JAXB |
X |
X |
X |
|
X |
X |
X [5] |
JAX-RPC |
WS-*
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS 10g |
|
WS-Addressing |
X |
X |
X |
X |
X |
X |
X |
with BPEL |
|
WS-Atomic Transaction |
X |
X |
|
|
|
|
X |
|
|
WS-Business Activity |
|
X |
|
|
|
|
|
|
|
WS-Coordination |
X |
X |
|
|
|
|
X |
|
|
WS-Eventing |
|
X |
|
|
X |
|
|
|
|
WS-Metadata Exchange |
|
X [10] |
|
|
|
|
X |
|
|
WS-Notification |
X |
X [12] |
|
? |
|
? |
|
|
|
X |
X |
X |
|
|
|
X |
|
|
|
WS-Policy |
|
X |
X |
|
|
|
X |
X |
|
WS-Secure Conversation |
|
X |
|
|
|
|
X |
|
|
WS-Security Policy |
|
X |
|
|
|
|
X |
|
|
WS-Security |
X |
X |
X |
X |
X |
X |
X |
X |
|
WS-Trust |
|
X |
|
|
|
|
X |
|
|
WS-Transfer |
|
X |
|
|
|
|
|
|
|
WSDL 1.1 Support |
X |
X |
X |
X |
X |
X |
X |
X |
|
WSDL 2.0 Support |
|
X |
|
|
|
|
|
|
Transports
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS 10g |
|
HTTP |
X |
X |
X |
X |
X |
X |
X |
X |
|
JMS |
X |
X |
X |
X |
X |
X |
X |
X |
|
Jabber |
Experimental |
Experimental |
|
|
|
X |
|
|
|
SMTP/POP3 |
X |
X |
|
|
|
|
X |
|
|
TCP |
X |
X |
|
|
|
|
X |
|
|
In-VM |
? |
X |
X |
? |
? |
? |
X |
? |
Attachments
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS 10g |
|
Soap w/ Attachments |
X |
X |
X |
X |
X |
|
X |
X |
|
DIME |
X |
|
|
X |
|
|
|
X |
|
MTOM |
|
X |
X |
|
X |
X |
X |
X |
Encoding Table
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS |
|
XML Textual |
X |
X |
X |
X |
X |
X |
X |
X |
|
MTOM |
|
X |
X |
|
X |
X |
X |
X |
|
|
X |
X |
|
|
|
X |
|
|
|
JSON |
|
X |
X |
|
|
|
X |
|
WS-Addressing Versions
This section is incomplete. If a stack has no WS-A support listed next to it, it probably means that this section has not been filled in for it.
|
Feature |
Axis 1.x |
Axis2 |
CXF |
Glue |
JBossWS |
XFire |
Metro@GlassFish |
OracleAS 10g |
|
2003-03 |
|
|
? |
|
|
|
|
|
|
2004-04 |
|
|
? |
|
|
|
|
|
|
2004-08 |
X |
X |
? |
|
|
X |
X |
X |
|
2005-08 |
X |
X |
X |
|
|
X |
X |
X |
|
2006-05 [8] |
X |
X |
X |
|
|
|
X |
|
There are only non-normative interop tests for the 2005-08/2006-05 versions and not very many of those. The only way to achieve 100% interoperability is not to use WS-A at all. If you must use it, use only a URI and not Reference Properties or Reference Parameters, which are not easily converted from version to version, if they can be translated at all.
===== Notes =====
#1 Bootstrapped this page from
XFire Stack Comparion page on Oct 9, 2006.
#2 Removed forward looking statements like "Coming in ..."
#3 Removed JBI JSR as none of the soap stacks here are packaged out of the box with a JBI container.
#4 Replaced "Via..." with "?"
#5 JAX-RPC 1.1, JAX-WS 2.0 and JAX-WS 2.1 RI are combined together in Metro. Similarly JAXB 2.0 and JAXB 2.1 are combined together in Metro. JAX-WS 2.0 and JAXB 2.0 functionality is available in Java SE 6 as well.
#6 Only available through the JAX-RPC 1.1 APIs.
#7 Derived from
ws Addressing review
#8 WSA 1.0 final: shares the same xmlns as the 2005-08 release.
#9 samples\databinding illustrates how to use castor with "wsdl2java -d none" generated code.
#10 Mex Module for Axis2 is available
here
#11 Transfer Module for Axis2 is available
here
#12 Apache Muse project has support for WS-Notifications