Introduction
Welcome to Apache SOAP!
Apache SOAP is an open-source implementation of the
SOAP v1.1 and
SOAP Messages with Attachments specifications. Apache SOAP is developed
by the Apache SOAP community.
Features
Needs to be checked and updated
- Supports most of the SOAP v1.1 specification.
- 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 Vectors, Enumerations, or 1-dimensional
arrays of these types. For other types user can hand-write
encoder/decoder and register with Apache-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 HTTPS) and
SMTP.
- Supports authoring services in scripting languages.
Dependencies
Needs to be checked and updated
- Java 1.1 or higher, and a servlet engine supporting version 2.1 or
higher of the
Java Servlet API
is required.
- Apache Xerces-Java 1.1.2
(xerces.jar) is required. It must be in the classpath before any other
DOM parser.
- As of version 2.1,
JavaMail
(mail.jar) and the
JavaBeans Activation Framework (activation.jar) are required.
- XMI encoding requires use of Java 1.2.2 and
XML4J 2.0.15.
Your classpath must have xerces.jar first and then xml4j.jar
next in that order.
- Implementing services in scripting languages requires the use of
Bean Scripting Framework.
When you download BSF, note carefully the versions of the
various scripting languages supported! [A new release of
BSF is upcoming very shortly.]
- SSL (HTTPS) support requires Java 1.2.1 or later and the
Java Secure Socket Extension.
- The SMTP transport requires the
SMTP and
POP3 Bean Suites.
Implementation Restrictions
Needs to be checked and updated
The following features of the SOAP v1.1 specification are
not currently supported:
- encodingStyle attribute must have only one encoding style
given (see section 4.1.1 of the spec)
- mustUnderstand attribute
- root attribute
- actor attribute and SOAP intermediaries
- ID/href links and multi-ref accessors
- all but the following XML Schema simple types: string,
boolean, double, float, long, int, short, byte
The following limitations on SOAP Messages with Attachments currently
exist:
- The document base URI is not picked up from the multipart's
Content-Location header.
- Support for relative URIs in Content-Location headers is limited to
concatenating the document base URI to the relative URI.
- The provided SMTP transport does not support multipart messages.
- Server-side RPC methods have no way to locate attachments not
referenced from the SOAP part of the request, or add attachments
to the response other than via the return object. Messaging methods
can do this already.