Jakarta SOAP with Attachments defines an API enabling developers to produce
and consume messages conforming to the SOAP 1.1, SOAP 1.2, and SOAP Attachments Feature.
This project is part of Eclipse Metro
Table of Contents
Latest News
November 4, 2020 - Eclipse Implementation of Jakarta SOAP with Attachments 2.0.0 Final Release
First release of Eclipse Implementation of Jakarta SOAP with Attachments fully moved
to and supporting the Jakarta SOAP with Attachments Specification 2.0 with jakarta.xml.soap namespace.
October 26, 2020 - Jakarta SOAP with Attachments Specification 2.0 Final Release
Jakarta SOAP with Attachments Specification 2.0 is an update using jakarta.xml.soap namespace.
See the specification.
June 2, 2020 - Eclipse Implementation of Jakarta SOAP with Attachments 2.0.0-M1 Milestone Release
First milestone of Eclipse Implementation of Jakarta SOAP with Attachments to accommodate the move
of the Jakarta SOAP with Attachments Specification to jakarta namespace.
See release notes.
April 30, 2020 - Eclipse Implementation of Jakarta SOAP with Attachments 1.5.2 Release
Updated Eclipse Implementation of Jakarta SOAP with Attachments to accommodate updated version
of the Jakarta SOAP with Attachments Specification. See release notes.
February 28, 2020 - Jakarta SOAP with Attachments Specification 1.4.2 Release
First release of the Jakarta SOAP with Attachments Specification going through
the Jakarta EE Specification Process.
July 20, 2019 - Jakarta SOAP with Attachments is the new name for SAAJ
The SAAJ technology contributed to the Eclipse Foundation has been renamed
to “Jakarta SOAP with Attachments” to reflect its role in the
Jakarta EE platform.
December 28, 2018 - SAAJ RI 1.5.1 Final Release
The 1.5.1 release is the first release of the SAAJ Reference Implementation under Eclipse Foundation.
September 14, 2018 - SAAJ RI project moves to the Eclipse Foundation!
The SAAJ project is now hosted at the Eclipse Foundation as part of
the EE4J project.
By contributing to this project, you agree to these additional terms of
use, described in CONTRIBUTING.
Download Jakarta SOAP Release
The latest release of Jakarta SOAP with Attachments Specification and API is 2.0.
<dependencies>
<dependency>
<groupId>jakarta.xml.soap</groupId>
<artifactId>jakarta.xml.soap-api</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
The latest release of Eclipse Implementation of Jakarta SOAP with Attachments is 2.0.0.
<dependencies>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
Latest Release Notes
You can find all of the Jakarta SOAP with Attachments releases in
Maven Central.
The Jakarta SOAP with Attachments provides the API for creating and sending SOAP messages by means of the jakarta.xml.soap
package. It is used for the SOAP messaging that goes on behind the scenes in Jakarta XML-based RPC and Jakarta XML Registries
implementations. SOAP Handlers in Jakarta XML Web Services use Jakarta SOAP APIs to access the SOAP Message.
Developers can also use it to write SOAP messaging applications directly instead of using Jakarta XML-based RPC/Jakarta XML Web Services.
The Jakarta SOAP API allows a client to send messages directly to the ultimate recipient using a SOAPConnection
object,
which provides a point-to-point connection to the intended recipient. Response messages are received synchronously
using a request-response model. SOAPConnection
(and its related classes) is a pure library implementation
that lets you send SOAP messages directly to a remote party. A standalone client, that is, one that does not run in a container
such as a servlet, must include client-side libraries in its CLASSPATH or MODULEPATH. This model is simple to get started
but has limited possibilities for reliability and message delivery guarantees. For instance, the point-to-point message
exchange model relies largely on the reliability of the underlying transport for delivering a message.
Please send feedback on this Jakarta SOAP API implementation release to metro-dev@eclipse.org
The Jakarta SOAP with Attachments 2.0 API is defined through the
Jakarta EE Specification Process.
The Jakarta SOAP with Attachments 2.0 specification and API documentation are available
here.
The Jakarta SOAP with Attachments 2.0.0 Implementation API documentation is available
here.
Some sample programs showing how to use the Jakarta SOAP with Attachments APIs are available
here
This sample application demonstrates how to send a simple SOAPMessage
from a sender (servlet) to a receiver (servlet).
This shows a simple round-trip message; the receiver responds with a reply. The messages appear in the directory from which you started the Web container.
This sample Web application demonstrates how to create and send a SOAPMessage
from a sender (servlet) to a receiver (servlet).
This sample demonstrates how a DOM document can be used in conjunction with SAAJ.
A DOM document is created from information read from an XML file, and the content is added to the body of a message.
The messages appear in the directory from which you started the Web container.
This sample uses Altavista’s babelfish translation service to translate text. The text to be translated is sent within a SOAPMessage
to the TranslationService.
The TranslationService, in turn, talks to babelfish.altavista.com, making an HTTP connection, and extracts the translations of the input text string from the response. The text is translated into German, Italian, and French.
The translations can be returned either as attachments to a SAAJ message or within the SOAPBody
, depending on which option is chosen through the radio button from the application’s index.html
file. If you use a proxy, the proxy settings (both host and port) need to be entered.
This sample application is a real-time application that talks to a live UDDI registry. It sends a SOAPMessage
query to the registry and prints out the message response using the SAAJ API.
Instructions for running this sample are in a README file in the uddiping
directory.
This sample provides an API that implements a SOAPProcessor
object, which implements the processing model described in The SOAP Message Exchange Model.
The sample consists of a JAR file, which can be used by other sample applications, and the associated source code.
For more information about this sample, see the README file in the soapprocessor directory.
NOTE:
The SOAP with Attachments API for Java 1.4 and earlier API is defined through the Java Community Process following
the process described at jcp.org. This process involves an Expert Group
with a lead that is responsible for delivering the specification, a reference implementation (RI) and a test compatibility kit (TCK).
The primary goal of an RI is to support the development of the specification and to validate it.
Specific RIs can have additional goals; the SAAJ RI is a production-quality implementation that is used directly
in a number of products by Sun and other vendors. To emphasize the quality of the implementation we call it a Standard Implementation.
The SAAJ expert group has wide industry participation with Sun Microsystems as the EG lead.
The initial API was part of JAXM 1.0 in JSR-67 and was released in December 2001;
the specification was later separated from JAXM in a maintenance release in June 2002.