The root class for all SOAP messages. As transmitted on the "wire", a SOAP
message is an XML document or a MIME message whose first body part is an
XML/SOAP document.
A SOAPMessage object consists of a SOAP part and optionally
one or more attachment parts. The SOAP part for a SOAPMessage
object is a SOAPPart object, which contains information used
for message routing and identification, and which can contain
application-specific content. All data in the SOAP Part of a message must be
in XML format.
A new SOAPMessage object contains the following by default:
A SOAPPart object
A SOAPEnvelope object
A SOAPBody object
A SOAPHeader object
The SOAP part of a message can be retrieved by calling the method SOAPMessage.getSOAPPart().
The SOAPEnvelope object is retrieved from the SOAPPart
object, and the SOAPEnvelope object is used to retrieve the
SOAPBody and SOAPHeader objects.
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPBody sb = se.getBody();
SOAPHeader sh = se.getHeader();
In addition to the mandatory SOAPPart object, a SOAPMessage
object may contain zero or more AttachmentPart objects, each
of which contains application-specific data. The SOAPMessage
interface provides methods for creating AttachmentPart
objects and also for adding them to a SOAPMessage object. A
party that has received a SOAPMessage object can examine its
contents by retrieving individual attachment parts.
Unlike the rest of a SOAP message, an attachment is not required to be in
XML format and can therefore be anything from simple text to an image file.
Consequently, any message content that is not in XML format must be in an
AttachmentPart object.
A MessageFactory object may create SOAPMessage
objects with behavior that is specialized to a particular implementation or
application of SAAJ. For instance, a MessageFactory object
may produce SOAPMessage objects that conform to a particular
Profile such as ebXML. In this case a MessageFactory object
might produce SOAPMessage objects that are initialized with
ebXML headers.
In order to ensure backward source compatibility, methods that are added to
this class after version 1.1 of the SAAJ specification are all concrete
instead of abstract and they all have default implementations. Unless
otherwise noted in the JavaDocs for those methods the default
implementations simply throw an UnsupportedOperationException
and the SAAJ implementation code must override them with methods that
provide the specified behavior. Legacy client code does not have this
restriction, however, so long as there is no claim made that it conforms to
some later version of the specification than it was originally written for.
A legacy class that extends the SOAPMessage class can be compiled and/or run
against succeeding versions of the SAAJ API without modification. If such a
class was correctly implemented then it will continue to behave correctly
relative to the version of the specification against which it was written.
A
SOAPMessageobject consists of a SOAP part and optionally one or more attachment parts. The SOAP part for aSOAPMessageobject is aSOAPPartobject, which contains information used for message routing and identification, and which can contain application-specific content. All data in the SOAP Part of a message must be in XML format.A new
SOAPMessageobject contains the following by default:- A
- A
- A
- A
The SOAP part of a message can be retrieved by calling the methodSOAPPartobjectSOAPEnvelopeobjectSOAPBodyobjectSOAPHeaderobjectSOAPMessage.getSOAPPart(). TheSOAPEnvelopeobject is retrieved from theSOAPPartobject, and theSOAPEnvelopeobject is used to retrieve theSOAPBodyandSOAPHeaderobjects.SOAPPart sp = message.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); SOAPBody sb = se.getBody(); SOAPHeader sh = se.getHeader();In addition to the mandatory
SOAPPartobject, aSOAPMessageobject may contain zero or moreAttachmentPartobjects, each of which contains application-specific data. TheSOAPMessageinterface provides methods for creatingAttachmentPartobjects and also for adding them to aSOAPMessageobject. A party that has received aSOAPMessageobject can examine its contents by retrieving individual attachment parts.Unlike the rest of a SOAP message, an attachment is not required to be in XML format and can therefore be anything from simple text to an image file. Consequently, any message content that is not in XML format must be in an
AttachmentPartobject.A
MessageFactoryobject may createSOAPMessageobjects with behavior that is specialized to a particular implementation or application of SAAJ. For instance, aMessageFactoryobject may produceSOAPMessageobjects that conform to a particular Profile such as ebXML. In this case aMessageFactoryobject might produceSOAPMessageobjects that are initialized with ebXML headers.In order to ensure backward source compatibility, methods that are added to this class after version 1.1 of the SAAJ specification are all concrete instead of abstract and they all have default implementations. Unless otherwise noted in the JavaDocs for those methods the default implementations simply throw an
UnsupportedOperationExceptionand the SAAJ implementation code must override them with methods that provide the specified behavior. Legacy client code does not have this restriction, however, so long as there is no claim made that it conforms to some later version of the specification than it was originally written for. A legacy class that extends the SOAPMessage class can be compiled and/or run against succeeding versions of the SAAJ API without modification. If such a class was correctly implemented then it will continue to behave correctly relative to the version of the specification against which it was written.