This section describes SOAP Java Implementations: Axis and Apache WebService.
If you search the Web with the key words "Java Implementation of SOAP", you will find the following
most popular implementations:
Apache Web Services - Axis at http://ws.apache.org/axis/.
Current release: June 15, 2005 - Version 1.2.1. Supports SOAP 1.1/1.2 specifications.
This is really a continuation of Apache WebService Project.
Apache WebService Project - SOAP at http://ws.apache.org/soap/index.html.
Current release: June 10, 2002 - Version 2.3.1. Supports most of the SOAP 1.1 specification.
Feature list of current release of Apache Web Services - Axis:
SOAP 1.1/1.2 compliant engine
Flexible configuration / deployment system
Support for "drop-in" deployment of SOAP services (JWS)
Support for all basic types, and a type mapping system for defining new serializers/deserializers
Automatic serialization/deserialization of Java Beans, including customizable mapping of fields to XML elements/attributes
Automatic two-way conversions between Java Collections and SOAP Arrays
Providers for RPC and message based SOAP services
Automatic WSDL generation from deployed services
WSDL2Java tool for building Java proxies and skeletons from WSDL documents
Java2WSDL tool for building WSDL from Java classes.
Preliminary security extensions, which can integrate with Servlet 2.2 security/roles
Support for session-oriented services, via HTTP cookies or transport-independent SOAP headers
Preliminary support for the SOAP with Attachments specification
An EJB provider for accessing EJB's as Web Services
HTTP servlet-based transport
JMS based transport
Standalone version of the server (with HTTP support)
Feature list of last release of Apache WebService Project - SOAP:
Supports most of the SOAP v1.1 specification.
Supports the SOAP Messages with Attachments W3C Note.
Provides server-side infrastructure for deploying, managing and running SOAP enabled services.
Provides client-side API for invoking SOAP services.
Release includes full source under the Apache Software License.
Supports three encoding styles: SOAP v1.1 Encoding, Literal XML and XMI.
XMI encoding (available when using Java 1.2.2) supports automatic marshalling and unmarshalling of arbitrary objects.
SOAP encoding: built-in support is provided for encoding/decoding primitive types, Strings, arbitrary JavaBeans (using reflection) and 1-dimensional arrays of these types. For other types user can hand-write encoder/decoder and register with XML-SOAP runtime.
Literal XML encoding: allows one to send XML elements (DOM org.w3c.dom.Element objects) as parameters by embedding the literal XML serialization of the DOM tree. No code needs to be written to support this (see the addressbook demo to see a sample use of it).
Supports messaging and RPC over two transports: HTTP and SMTP.
Supports authoring services in scripting languages.