public abstract class SOAPPart extends java.lang.Object implements org.w3c.dom.Document, Node
SOAPMessage
object. All messages are required to have a SOAP part, so when a
SOAPMessage
object is created, it will automatically
have a SOAPPart
object.
A SOAPPart
object is a MIME part and has the MIME headers
Content-Id, Content-Location, and Content-Type. Because the value of
Content-Type must be "text/xml", a SOAPPart
object automatically
has a MIME header of Content-Type with its value set to "text/xml".
The value must be "text/xml" because content in the SOAP part of a
message must be in XML format. Content that is not of type "text/xml"
must be in an AttachmentPart
object rather than in the
SOAPPart
object.
When a message is sent, its SOAP part must have the MIME header Content-Type set to "text/xml". Or, from the other perspective, the SOAP part of any message that is received must have the MIME header Content-Type with a value of "text/xml".
A client can access the SOAPPart
object of a
SOAPMessage
object by
calling the method SOAPMessage.getSOAPPart
. The
following line of code, in which message
is a
SOAPMessage
object, retrieves the SOAP part of a message.
SOAPPart soapPart = message.getSOAPPart();
A SOAPPart
object contains a SOAPEnvelope
object,
which in turn contains a SOAPBody
object and a
SOAPHeader
object.
The SOAPPart
method getEnvelope
can be used
to retrieve the SOAPEnvelope
object.
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Modifier | Constructor and Description |
---|---|
protected |
SOAPPart()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
addMimeHeader(java.lang.String name,
java.lang.String value)
Creates a
MimeHeader object with the specified
name and value and adds it to this SOAPPart object. |
abstract java.util.Iterator<MimeHeader> |
getAllMimeHeaders()
Retrieves all the headers for this
SOAPPart object
as an iterator over the MimeHeader objects. |
abstract javax.xml.transform.Source |
getContent()
Returns the content of the SOAPEnvelope as a JAXP
Source
object. |
java.lang.String |
getContentId()
Retrieves the value of the MIME header whose name is "Content-Id".
|
java.lang.String |
getContentLocation()
Retrieves the value of the MIME header whose name is "Content-Location".
|
abstract SOAPEnvelope |
getEnvelope()
Gets the
SOAPEnvelope object associated with this
SOAPPart object. |
abstract java.util.Iterator<MimeHeader> |
getMatchingMimeHeaders(java.lang.String[] names)
Retrieves all
MimeHeader objects that match a name in
the given array. |
abstract java.lang.String[] |
getMimeHeader(java.lang.String name)
Gets all the values of the
MimeHeader object
in this SOAPPart object that
is identified by the given String . |
abstract java.util.Iterator<MimeHeader> |
getNonMatchingMimeHeaders(java.lang.String[] names)
Retrieves all
MimeHeader objects whose name does
not match a name in the given array. |
abstract void |
removeAllMimeHeaders()
Removes all the
MimeHeader objects for this
SOAPEnvelope object. |
abstract void |
removeMimeHeader(java.lang.String header)
Removes all MIME headers that match the given name.
|
abstract void |
setContent(javax.xml.transform.Source source)
Sets the content of the
SOAPEnvelope object with the data
from the given Source object. |
void |
setContentId(java.lang.String contentId)
Sets the value of the MIME header named "Content-Id"
to the given
String . |
void |
setContentLocation(java.lang.String contentLocation)
Sets the value of the MIME header "Content-Location"
to the given
String . |
abstract void |
setMimeHeader(java.lang.String name,
java.lang.String value)
Changes the first header entry that matches the given header name
so that its value is the given value, adding a new header with the
given name and value if no
existing header is a match.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
adoptNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getInputEncoding, getStrictErrorChecking, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, normalizeDocument, renameNode, setDocumentURI, setStrictErrorChecking, setXmlStandalone, setXmlVersion
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
public abstract SOAPEnvelope getEnvelope() throws SOAPException
SOAPEnvelope
object associated with this
SOAPPart
object. Once the SOAP envelope is obtained, it
can be used to get its contents.SOAPEnvelope
object for this
SOAPPart
objectSOAPException
- if there is a SOAP errorpublic java.lang.String getContentId()
String
giving the value of the MIME header
named "Content-Id"setContentId(java.lang.String)
public java.lang.String getContentLocation()
String
giving the value of the MIME header whose
name is "Content-Location"setContentLocation(java.lang.String)
public void setContentId(java.lang.String contentId)
String
.contentId
- a String
giving the value of the MIME
header "Content-Id"java.lang.IllegalArgumentException
- if there is a problem in
setting the content idgetContentId()
public void setContentLocation(java.lang.String contentLocation)
String
.contentLocation
- a String
giving the value
of the MIME
header "Content-Location"java.lang.IllegalArgumentException
- if there is a problem in
setting the content location.getContentLocation()
public abstract void removeMimeHeader(java.lang.String header)
header
- a String
giving the name of the MIME header(s) to
be removedpublic abstract void removeAllMimeHeaders()
MimeHeader
objects for this
SOAPEnvelope
object.public abstract java.lang.String[] getMimeHeader(java.lang.String name)
MimeHeader
object
in this SOAPPart
object that
is identified by the given String
.name
- the name of the header; example: "Content-Type"String
array giving all the values for the
specified headersetMimeHeader(java.lang.String, java.lang.String)
public abstract void setMimeHeader(java.lang.String name, java.lang.String value)
Note that RFC822 headers can contain only US-ASCII characters.
name
- a String
giving the header name
for which to searchvalue
- a String
giving the value to be set.
This value will be substituted for the current value(s)
of the first header that is a match if there is one.
If there is no match, this value will be the value for
a new MimeHeader
object.java.lang.IllegalArgumentException
- if there was a problem with
the specified mime header name or valuegetMimeHeader(java.lang.String)
public abstract void addMimeHeader(java.lang.String name, java.lang.String value)
MimeHeader
object with the specified
name and value and adds it to this SOAPPart
object.
If a MimeHeader
with the specified name already
exists, this method adds the specified value to the already
existing value(s).
Note that RFC822 headers can contain only US-ASCII characters.
name
- a String
giving the header namevalue
- a String
giving the value to be set
or addedjava.lang.IllegalArgumentException
- if there was a problem with
the specified mime header name or valuepublic abstract java.util.Iterator<MimeHeader> getAllMimeHeaders()
SOAPPart
object
as an iterator over the MimeHeader
objects.Iterator
object with all of the Mime
headers for this SOAPPart
objectpublic abstract java.util.Iterator<MimeHeader> getMatchingMimeHeaders(java.lang.String[] names)
MimeHeader
objects that match a name in
the given array.names
- a String
array with the name(s) of the
MIME headers to be returnedIterator
objectpublic abstract java.util.Iterator<MimeHeader> getNonMatchingMimeHeaders(java.lang.String[] names)
MimeHeader
objects whose name does
not match a name in the given array.names
- a String
array with the name(s) of the
MIME headers not to be returnedSOAPPart
object
except those that match one of the names in the
given array. The nonmatching MIME headers are returned as an
Iterator
object.public abstract void setContent(javax.xml.transform.Source source) throws SOAPException
SOAPEnvelope
object with the data
from the given Source
object. This Source
must contain a valid SOAP document.source
- the javax.xml.transform.Source
object with the
data to be setSOAPException
- if there is a problem in setting the sourcegetContent()
public abstract javax.xml.transform.Source getContent() throws SOAPException
Source
object.javax.xml.transform.Source
objectSOAPException
- if the implementation cannot convert
the specified Source
objectsetContent(javax.xml.transform.Source)