java.lang.ObjectA single attachment to ajavax.xml.soap.AttachmentPart
SOAPMessage
object. A SOAPMessage
object may contain zero, one, or many AttachmentPart
objects.
Each AttachmentPart
object consists of two parts,
application-specific content and associated MIME headers. The
MIME headers consists of name/value pairs that can be used to
identify and describe the content.
An AttachmentPart
object must conform to certain standards.
Content-Type
AttachmentPart
object and MUST conform to [RFC2045].
The following is an example of a Content-Type header:
Content-Type: application/xmlThe following line of code, in which
ap
is an
AttachmentPart
object, sets the header shown in
the previous example.
ap.setMimeHeader("Content-Type", "application/xml");
There are no restrictions on the content portion of an
AttachmentPart
object. The content may be anything from a
simple plain text object to a complex XML document or image file.
An AttachmentPart
object is created with the method
SOAPMessage.createAttachmentPart
. After setting its MIME headers,
the AttachmentPart
object is added to the message
that created it with the method SOAPMessage.addAttachmentPart
.
The following code fragment, in which m
is a
SOAPMessage
object and contentStringl
is a
String
, creates an instance of AttachmentPart
,
sets the AttachmentPart
object with some content and
header information, and adds the AttachmentPart
object to
the SOAPMessage
object.
AttachmentPart ap1 = m.createAttachmentPart(); ap1.setContent(contentString1, "text/plain"); m.addAttachmentPart(ap1);
The following code fragment creates and adds a second
AttachmentPart
instance to the same message. jpegData
is a binary byte buffer representing the jpeg file.
AttachmentPart ap2 = m.createAttachmentPart(); byte[] jpegData = ...; ap2.setContent(new ByteArrayInputStream(jpegData), "image/jpeg"); m.addAttachmentPart(ap2);
The getContent
method retrieves the contents and header from
an AttachmentPart
object. Depending on the
DataContentHandler
objects present, the returned
Object
can either be a typed Java object corresponding
to the MIME type or an InputStream
object that contains the
content as bytes.
String content1 = ap1.getContent(); java.io.InputStream content2 = ap2.getContent();The method
clearContent
removes all the content from an
AttachmentPart
object but does not affect its header information.
ap1.clearContent();
Method from javax.xml.soap.AttachmentPart Summary: |
---|
addMimeHeader, clearContent, getAllMimeHeaders, getBase64Content, getContent, getContentId, getContentLocation, getContentType, getDataHandler, getMatchingMimeHeaders, getMimeHeader, getNonMatchingMimeHeaders, getRawContent, getRawContentBytes, getSize, removeAllMimeHeaders, removeMimeHeader, setBase64Content, setContent, setContentId, setContentLocation, setContentType, setDataHandler, setMimeHeader, setRawContent, setRawContentBytes |
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.xml.soap.AttachmentPart Detail: |
---|
AttachmentPart object.
Note that RFC822 headers can contain only US-ASCII characters. |
AttachmentPart object.
The MIME header portion is left untouched. |
AttachmentPart object
as an iterator over the MimeHeader objects. |
InputStream which can be used to obtain the
content of AttachmentPart as Base64 encoded
character data, this method would base64 encode the raw bytes
of the attachment and return. |
AttachmentPart object as a Java
object. The type of the returned Java object depends on (1) the
DataContentHandler object that is used to interpret the bytes
and (2) the Content-Type given in the header.
For the MIME content types "text/plain", "text/html" and "text/xml", the
A SAAJ-compliant implementation must, as a minimum, return a
|
|
|
|
DataHandler object for this AttachmentPart
object. |
MimeHeader objects that match a name in
the given array. |
String . |
MimeHeader objects whose name does
not match a name in the given array. |
AttachmentPart object as an
InputStream as if a call had been made to getContent and no
DataContentHandler had been registered for the
content-type of this AttachmentPart .
Note that reading from the returned InputStream would result in consuming the data in the stream. It is the responsibility of the caller to reset the InputStream appropriately before calling a Subsequent API. If a copy of the raw attachment content is required then the #getRawContentBytes API should be used instead. |
AttachmentPart object as a
byte[] array as if a call had been made to getContent and no
DataContentHandler had been registered for the
content-type of this AttachmentPart . |
AttachmentPart
object. |
|
|
InputStream and sets the value of the
Content-Type header to the value contained in
contentType , This method would first decode the base64
input and write the resulting raw bytes to the attachment.
A subsequent call to getSize() may not be an exact measure of the content size. |
Object and sets the value of the Content-Type
header to the given type. The type of the
Object should correspond to the value given for the
Content-Type . This depends on the particular
set of DataContentHandler objects in use. |
|
|
|
DataHandler object as the data handler
for this AttachmentPart object. Typically, on an incoming
message, the data handler is automatically set. When
a message is being created and populated with content, the
setDataHandler method can be used to get data from
various data sources into the message. |
Note that RFC822 headers can only contain US-ASCII characters. |
InputStream content and sets the value of the
Content-Type header to the value contained in
contentType .
A subsequent call to getSize() may not be an exact measure of the content size. |
byte[] array content and sets the value of the
Content-Type header to the value contained in
contentType . |