For more information, refer to the following web sites:
-
SOAP 1.1 http://www.w3.org/TR/SOAP
-
SOAP 1.2 http://www.w3.org/TR/soap12-part1/
-
SOAP Messages with Attachments http://www.w3.org/TR/SOAP-attachments, http://www.w3.org/TR/soap12-af
-
Jakarta Activation 2.0 https://jakarta.ee/specifications/activation/2.0/
-
Java API for XML Processing Version 1.6 https://jcp.org/en/jsr/detail?id=206#orig
-
Java API for XML Messaging Version 1.1 Final Release https://jcp.org/en/jsr/detail?id=67
-
WS-I Attachments Profile 1.0 http://www.ws-i.org/Profiles/AttachmentsProfile-1.0.html
-
Changed specification version and license.
-
Changed package name to
jakarta.xml.soap
The fourth maintenance release of SAAJ, SAAJ 1.4, clarifies and extends the SAAJ 1.3 specification.The goal of this maintenance release proposal is primarily to adopt changes in Java SE Platform and to make a few corrections and clarifications on the existing SAAJ 1.3 APIs. The proposed API changes in SAAJ 1.4 are backward compatible with SAAJ 1.3 APIs.
The "accepted changes", as specified in JSR067 changelog, have been incorporated in this document. The key changes are as follows:
-
Changed the definition of the discovery process of SAAJ implementation.
-
Added support for generics where applicable.
-
Changed MAY to MUST in jakarta.xml.soap.SOAPElements methods.
-
Several corrections and clarifications have been made to the JavaDocs for the API.
The third maintenance release of SAAJ, SAAJ 1.3, clarifies and extends the SAAJ 1.2 specification.The goal of this maintenance release proposal is primarily to provide support for SOAP version 1.2 Message Constructs and to make a few corrections and clarifications on the existing SAAJ 1.2 APIs. The proposed API changes in SAAJ 1.3 are backward compatible with SAAJ 1.2 APIs.
SOAP version 1.2 has a number of changes in syntax and provides additional (or clarified) semantics from those described in SOAP 1.1. This proposed changes in this maintenance release are concerned with the following areas:
-
Support for SOAP version 1.2 message constructs in the API.
-
Factoring out the creation of all SAAJ Factory classes into a single SPI that allows creation of SOAP version aware Factories.
-
Addition of a few new classes and new methods in certain existing classes and interfaces.
-
Support for overloaded QName based methods in certain classes and interfaces.
-
Clarification of semantics and correction of wording of JavaDocs and specification
A brief summary of the proposed changes follows:
-
Support for SOAP Version 1.2 message constructs in the API: SOAP Version 1.2 has a number of changes in syntax and introduces several new Message Constructs. SAAJ 1.3 will support SOAP Version 1.2 Message Constructs.
-
SPI for Creation of Factory Instances: SAAJ 1.3 will support SOAP Version 1.2 Message Constructs, while at the same time being backward compatible in its support for SOAP Version 1.1. We would like to define an SPI (SAAJMetaFactory) for factoring out the creation of SOAP Version aware Factory classes into a single place. Changing out the SAAJMetaFactory has the effect of changing out the entire SAAJ implementation. Backward compatibility is maintained by ensuring that the default protocol is set to SOAP Version 1.1.
-
Definition of new Class SAAJResult: A SAAJResult object acts as a holder for the results of a JAXP transformation or a JAXB marshalling, in the form of a SAAJ tree. This class will make it easier for the end user when dealing with transformations in situations where the result is expected to be a valid SAAJ tree.
-
Addition of overloaded methods which accept a QName instead of a Name: QName is the preferred representation of XML qualified names, and hence we would like to introduce overloaded methods in all APIs where a corresponding method was accepting a jakarta.xml.soap.Name as argument. The Name interface may be deprecated in a future release of SAAJ in favor of QName.
-
Clarify and correct the wording of JavaDocs and specification: None of these changes will break backward compatibility for SOAP 1.1 users. Corrections of this nature cost little and improve the overall integrity of the specification making correct implementations easier to create, validate and use.
-
Addition of new methods in certain Interfaces and Classes: A few new methods have been introduced in AttachmentPart, SOAPBody, and SOAPElement. These new methods are intended for ease of use and to assist SAAJ users when dealing with some of the newer SOAP features.
-
Making SOAPPart a jakarta.xml.soap.Node: The SOAPPart is also a SOAP Node.
Deferred Changes:
-
The deprecation of Name Interface has been deferred to a later release.
-
DOM Level 3 Support: Implementations of SAAJ 1.3 must provide support for DOM Level 3 APIs.
The second maintenance release of SAAJ, SAAJ 1.2, clarifies and extends the SAAJ 1.1 specification. The "accepted changes", as specified in the Change Log forSOAP with Attachments API for Java™, have been incorporated into this document. A summary of the changes follows:
-
The core SAAJ classes and interfaces:
Node
,SOAPElement
,SOAPPart
, andText
now extend the equivalent interfaces in theorg.w3c.dom
package:Node
,Element
, Document andText
respectively. -
The ability to get and set properties on
SOAPMessage
has been added toSOAPMessage
in order to facilitate extensibility and two new properties have been added in order to take advantage of this extensibility:CHARACTER_SET_ENCODING
allows the character encoding to be set to "utf-8" or "utf-16" where "utf-8" is the default. Implementations may optionally support other character encodings.WRITE_XML_DECLARATION
allows clients to specify whether or not an XML Declaration will be written at the start of the SOAP part of the message. The valid values are "true" and "false" with "false" being the default. -
Several APIs have been extended in order to provide greater ease of use. The
Node
interface has gained asetValue
() method.SOAPFault
has been enhanced with several methods that facilitate the handling of its sub-elements.SOAPMessage
,SOAPElement
,SOAPBody
andSOAPHeader
have all been given new methods that enhance navigation of the tree. A removeContents() element has been added toSOAPElement
in order to assist in the construction of messages that contain a fault. -
Several corrections and clarifications have been made to the JavaDocs for the API.
This specification has been derived from the
jakarta.XML.SOAP
package originally defined in the JAXM 1.0
specification. The "accepted changes," as specified in JSR067 changelog,
have been incorporated in this document. The key changes are as follows:
-
jakarta.xml.soap
package was moved from the JAXM specification to this document. In the interest of consistency and for simplifying synchronization of specifications, this document has been designated as version 1.1 of the SAAJ specification. There are no prior versions of the SAAJ specification. -
The
call
method signature of theSOAPConnection
object has been modified so as to remove the dependency of SAAJ on JAXM. -
The
newInstance
method ofSOAPConnectionFactory
may throw anUnsupportedOperationException
hence making the implementation of theSOAPConnection.call()
functionality optional. -
The
SOAPElementFactory
has been deprecated and a new "super" factory for creatingElement
,Detail
, andName
objects created. The previousSOAPElementFactory
methods now delegate to the appropriateSOAPFactory
methods.