The container for the SOAP-specific portion of a
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.
addMimeHeader
public abstract void addMimeHeader(String name,
String value) Creates a
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 added
getAllMimeHeaders
public abstract Iterator getAllMimeHeaders()
Retrieves all the headers for this SOAPPart
object as an iterator over the MimeHeader
objects.
- an
Iterator object with all of the Mime
headers for this SOAPPart object
getContent
public abstract Source getContent()
throws SOAPException Returns the content of the SOAPEnvelope as a JAXP
Source object.
- the content as a
javax.xml.transform.Source object
SOAPException - if the implementation cannot
convert the specified Source object
setContent(javax.xml.transform.Source)
getContentId
public String getContentId()
Retrieves the value of the MIME header whose name is
"Content-Id".
- a
String giving the value of the MIME
header named "Content-Id"
setContentId(java.lang.String)
getContentLocation
public String getContentLocation()
Retrieves the value of the MIME header whose name is
"Content-Location".
- a
String giving the value of the MIME
header whose name is "Content-Location"
setContentLocation(java.lang.String)
getEnvelope
public abstract SOAPEnvelope getEnvelope()
throws SOAPException Gets the SOAPEnvelope object associated with
this SOAPPart object. Once the SOAP envelope is
obtained, it can be used to get its contents.
- the
SOAPEnvelope object for this
SOAPPart object
getMatchingMimeHeaders
public abstract Iterator getMatchingMimeHeaders(names[] )
Retrieves all MimeHeader objects that match
a name in the given array.
- all of the MIME headers that match one of the names
in the given array, returned as an
Iterator
object
getMimeHeader
public abstract String[] getMimeHeader(String name)
Gets all the values of the MimeHeader object
in this SOAPPart object that is identified by
the given String.
name - the name of the header; example:
"Content-Type"
- a
String array giving all the values for
the specified header
setMimeHeader(java.lang.String, java.lang.String)
getNonMatchingMimeHeaders
public abstract Iterator getNonMatchingMimeHeaders(names[] )
Retrieves all MimeHeader objects whose name
does not match a name in the given array.
- all of the MIME headers in this
SOAPPart
object except those that match one of the names in the
given array. The nonmatching MIME headers are returned as
an Iterator object.
removeAllMimeHeaders
public abstract void removeAllMimeHeaders()
Removes all the MimeHeader objects for this
SOAPEnvelope object.
removeMimeHeader
public abstract void removeMimeHeader(String header)
Removes all MIME headers that match the given name.
header - a String giving
the name of the MIME header(s) to be removed
setContent
public abstract void setContent(Source source)
throws SOAPException Sets the content of the SOAPEnvelope object
with the data from the given Source object.
source - javax.xml.transform.Source object with the data to
be set
setContentId
public void setContentId(String contentId)
Sets the value of the MIME header named "Content-Id" to
the given String.
contentId - a String giving
the value of the MIME header "Content-Id"
setContentLocation
public void setContentLocation(String contentLocation)
Sets the value of the MIME header "Content-Location" to
the given String.
contentLocation - a String
giving the value of the MIME header
"Content-Location"
setMimeHeader
public abstract void setMimeHeader(String name,
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. If there is a match, this method clears
all existing values for the first header that matches and
sets the given value instead. If more than one header has
the given name, this method removes all of the matching
headers after the first one.
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.
getMimeHeader(java.lang.String)