## Jakarta SOAP Attachments - 2.0
Specification Assertion Detail

Totals | Total | Active | Deprecated | Removed
# of Assertions | 22 | 22 | 0 | 0
# of Required Assertions | 22 | 22 | 0 | 0
# of Optional Assertions | 0 | 0 | 0 | 0

ID | Chapter | Section | Description | Required | Dependency | Implementation Specific | Defined by | Status | Testable
SAAJ:SPEC:1 | P | a | A SAAJ implementation must support the SOAP 1.1, SOAP 1.2, and SOAP with Attachments Specifications. | true |  | true | technology | active | true
SAAJ:SPEC:2 | 1 | 1 | The jakarta.xml.soap package provides the primary abstraction for SOAP messages with MIME attachments. Attachments may be entire XML documents, XML fragments, or any other content with a valid MIME type. In addition, this package provides a simple client-side view of a request-response style of interaction with a SOAP service. | true |  | true | technology | active | true
SAAJ:SPEC:3 | 1 | 1.1 | The MessageFactory class is used to create SOAPMessage objects. A SAAJ client that wants to use a request-response style of messaging must create a MessageFactory object by calling the MessageFactory.newInstance() method. Alternatively, where one-way asynchronous messaging is required, the ProviderConnection.createMessageFactory method must be used to create a MessageFactory object for a specific SAAJ profile. | true |  | true | technology | active | true
SAAJ:SPEC:4 | 1 | 1.1 | The SOAPMessage class is the root class for all SOAP messages. Such messages must contain a SOAPPart object and may contain one or more AttachmentPart objects. The "on-the-wire" encoding of a SOAP message is governed by whether the SOAPMessage object includes AttachmentPart objects. If it does, the SOAPMessage object is encoded as a MIME message. Note that an AttachmentPart object may contain content that is not in XML format, whereas content in a SOAPPart object is required to be in XML format. | true |  | true | technology | active | true
SAAJ:SPEC:5 | 1 | 1.2 | The SOAPPart object is a MIME part containing the SOAPEnvelope object. The SOAPEnvelope object must contain a SOAPBody object and may contain a SOAPHeader object. | true |  | true | technology | active | true
SAAJ:SPEC:6 | 1 | 1.2 | A SOAPMessage object may contain zero or more AttachmentPart objects. Each AttachmentPart object in turn contains application specific content and corresponding MIME headers. A SAAJ implementation must support the following MIME types (text/plain, multipart/*, text/xml, application/xml). Additional MIME types may be supported using the jakarta.activation.DataHandler class and the Jakarta Activation Framework. | true |  | true | technology | active | true
SAAJ:SPEC:7 | 1 | 1.3 | The MimeHeaders class is a container for MimeHeader objects and serves as an abstraction for the MIME headers that must be present if an AttachmentPart object exists in a SOAPMessage. The MimeHeader object is the abstraction for a name/value pair of a MIME header. A MimeHeaders object may contain one or more MimeHeader objects. | true |  | true | technology | active | true
SAAJ:SPEC:8 | 1 | 2.0 | The SOAPElement object is the base class for all the classes that model the SOAP objects defined in the SOAP 1.2 specification. A SOAPElement object is used to model content in a SOAPBody object, content in a SOAPHeader object, content that can follow the SOAPBody object within a SOAPEnvelope object, and whatever may follow the Detail element in a SOAPFault object. | true |  | true | technology | active | true
SAAJ:SPEC:9 | 1 | 1.5 | The SOAPEnvelope object is a container for the SOAPHeader and SOAPBody portions of a SOAPPart object. The SOAPEnvelope object must contain a SOAPBody object, but the SOAPHeader object is optional. The SOAPEnvelope object extends the SOAPElement object. | true |  | true | technology | active | true
SAAJ:SPEC:10 | 1 | 1.5 | The SOAPBody object models the contents of the SOAP body element in a SOAP message. A SOAP body element contains XML data that may determine how application-specific content must be processed. The SOAPBody object extends the SOAPElement object. | true |  | true | technology | active | true
SAAJ:SPEC:11 | 1 | 1.6 | SOAPBody objects contain SOAPBodyElement objects that model the content of the SOAP body. An example of a SOAPBodyElement is the SOAPFault object. | true |  | true | technology | active | true
SAAJ:SPEC:12 | 1 | 1.7 | The SOAPFaultElement is used to represent the contents of a SOAPFault object. The Detail interface is a container for DetailEntry objects that provide, application specific, error information associated with the SOAPBody object that contains it. A Detail object is part of a SOAPFault object and may be retrieved using the getDetail method of the SOAPFault object. The DetailEntry object extends SOAPElement and models the contents of a Detail object. | true |  | true | technology | active | true
SAAJ:SPEC:13 | 1 | 1.8 | A SOAPHeader object is an abstraction of the SOAP header element. A SOAPHeader object can be created using the SOAPEnvelope.addHeader method. SOAPHeader objects can have only SOAPHeaderElement objects as their immediate children. The addHeaderElement method creates a new SOAPHeaderElement object and adds it to the SOAPHeader object. SOAPHeader and SOAPHeaderElement objects both extend the SOAPElement object. A SOAPHeaderElement object models the contents of the SOAP header of a SOAP envelope. | true |  | true | technology | active | true
SAAJ:SPEC:14 | 1 | 1.9 | The SOAPConnection object represents a simple client-side view of a synchronous request-response style of SOAP messaging. A SAAJ client may choose to establish a synchronous point-to-point connection to a SOAP service. A SOAPMessage may be sent to a remote party using the call method on the SOAPConnection object. A SAAJ client may choose to establish a synchronous point-to-point connection to a SOAP service using the createConnection method of the SOAPConnectionFactory object. | true |  | true | technology | active | true
SAAJ:SPEC:15 | 1 | 1.10 | The SOAPException object extends java.lang.Exception and is used to signal SOAP level exceptions. SAAJException further extends SOAPException. | true |  | true | technology | active | true
SAAJ:SPEC:16 | 1 | 1.11 | The Node object models a node element of a DOM abstraction of an XML document. The Text object extends Node and represents a node whose value is text. A Text object may model either text that is content or text that is a comment. | true |  | true | technology | active | true
SAAJ:SPEC:17 | 1 | 1.12 | The Name object models an XML name. It provides methods for getting the local name, namespace-qualified name, the prefix associated with the namespace, and the URI of the namespace. | true |  | true | technology | active | true
SAAJ:SPEC:18 | 1 | 1.13 | The SOAPElementFactory object is intended primarily for the use of application components or tools that require the capability of inserting XML fragments into a SOAPMessage object. These fragments can be inserted as children of the SOAPHeader, SOAPBody, or SOAPEnvelope objects. SOAPElementFactory has been deprecated by the new SOAPFactory object. The SOAPFactory object effectively serves as a super factory for the creation of SOAPElement, Name, and Detail objects. | true |  | true | technology | active | true
SAAJ:SPEC:19 | 1 | 1.14 | This Factory is the access point for the implementation classes of all the other factories defined in the SAAJ API. All of the newInstance methods defined on factories in SAAJ defer to instances of this class to do the actual object creation. The implementations of newInstance() methods (in SOAPFactory and MessageFactory) that existed in SAAJ 1.2 have been updated to also delegate to the SAAJMetaFactory when the SAAJ 1.2 defined lookup fails to locate the Factory implementation class name. SAAJMetaFactory is a service provider interface. There are no public methods on this class. | true |  | true | technology | active | true
SAAJ:SPEC:20 | 1 | 1.15 | This concrete class 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. The results can be accessed by using the getResult meths concrete class 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. The results can be accessed by using the getResult method. | true |  | true | technology | active | true
SAAJ:SPEC:21 | 1 | Appendix | SOAP Version 1.2 Part 1: Messaging FrameworkSOAP Version 1.2 Part 2: AdjunctsA SOAP message is specified as an XML infoset whose comment, element, attribute, namespace and character information items are able to be serialized as XML 1.0. Note, requiring that the specified information items in SOAP message infosets be serializable as XML 1.0 does NOT require that they be serialized using XML 1.0. A SOAP message Infoset consists of a document information item with exactly one member in its [children] property, which MUST be the SOAP Envelope element information item (see 5.1 SOAP Envelope). This element information item is also the value of the [document element] property. The [notations] and [unparsed entities] properties are both empty. The Infoset Recommendation [XML InfoSet] allows for content not directly serializable using XML; for example, the character #x0 is not prohibited in the Infoset, but is disallowed in XML. The XML Infoset of a SOAP Message MUST correspond to an XML 1.0 serialization [XML 1.0]. The XML infoset of a SOAP message MUST NOT contain a document type declaration information item. SOAP messages sent by initial SOAP senders MUST NOT contain processing instruction information items. SOAP intermediaries MUST NOT insert processing instruction information items in SOAP messages they relay. SOAP receivers receiving a SOAP message containing a processing instruction information item SHOULD generate a SOAP fault with the Value of Code set to "env:Sender". However, in the case where performance considerations make it impractical for an intermediary to detect processing instruction information items in a message to be relayed, the intermediary MAY leave such processing instruction information items unchanged in the relayed message. Element information items defined by this specification that only have element information items defined as allowable members of their [children] property can also have zero or more character information item children. The character code of each such character information item MUST be amongst the white space characters as defined by XML 1.0 [XML 1.0]. Unless otherwise indicated, such character information items are considered insignificant. Comment information items MAY appear as children and/or descendants of the [document element] element information item but not before or after that element information item . There are some restrictions in the processing model with respect to when comment information items can be added and/or removed (see 2.7.2.1 Relayed Infoset). | true |  | true | technology | active | true
SAAJ:SPEC:22 | 1 | Appendix | SOAP Version 1.2 Part 1: Messaging FrameworkSOAP Version 1.2 Part 2: AdjunctsThere are certain restrictions and enforcement differences between the SOAP 1.1 and SOAP 1.2 protocols. For SOAP 1.2 they tightened the specifications in regards to these restrictions and enforcement differences. These involve whether the encodingStyle attribute can be set on the Enevlope, whether trailing blocks are allowed after the Body, and whether non qualified QNames are allowed on Body, Header, and Child elements. | true |  | true | technology | active | true