General Features

Feature

Axis 1.x

Axis2

CXF

Glue

JBossWS

XFire (1.2)

Metro@GlassFish

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

X

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

X [13]

X

[Early Access]

X [5]

JAX-RS

X

JSR 181

X

X

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

X

JAXB

X

X

X

X

X

X [5]

JAX-RPC

SDO

X

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

X

WS-Notification

X

X [12]

X

?

?

WS-ReliableMessaging

X

X

X

X

WS-Policy

X

X

X

X

WS-Secure Conversation

X

X

X

WS-Security Policy

X

X

X

WS-Security

X

X

X

X

X

X

X

X

WS-Trust

X

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

SOAP/JMS Spec

X

Jabber

Experimental

X

X [15]

X

SMTP/POP3

X

X

X [15]

X

TCP

X

X

X [15]

X

In-VM

?

X

X

?

?

?

X

?

SMS

X

X [15]

UDP

X

X [15]

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

FastInfoset

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

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
#13 Not JAX-WS TCK compliant due to lack of JAX-WS tooling
#14 Part of ServiceMix
#15 By using the Camel transport for CXF (http://camel.apache.org/camel-transport-for-cxf.html), CXF supports a very wide range of connection possibilities. See http://camel.apache.org/components.html<<BR>>

StackComparison (last edited 2011-11-15 19:12:21 by c-24-91-72-253)