public abstract class MessageImpl extends SOAPMessage implements SOAPConstants
Modifier and Type | Field and Description |
---|---|
protected boolean |
acceptFastInfoset
True if the Accept header of this message includes
application/fastinfoset
|
protected FinalArrayList<AttachmentPart> |
attachments |
protected boolean |
attachmentsInitialized |
static String |
CONTENT_ID |
static String |
CONTENT_LOCATION |
protected ContentType |
contentType |
protected static int |
FI_ENCODED_FLAG |
protected MimeHeaders |
headers |
protected boolean |
isFastInfoset
True if this part is encoded using Fast Infoset.
|
static String |
LAZY_SOAP_BODY_PARSING |
protected static Logger |
log |
protected int |
messageByteCount |
protected byte[] |
messageBytes |
protected static int |
MIME_MULTIPART_FLAG |
protected static int |
MIME_MULTIPART_XOP_SOAP1_1_FLAG |
protected static int |
MIME_MULTIPART_XOP_SOAP1_2_FLAG |
protected MimeMultipart |
mmp |
protected MimeMultipart |
multiPart |
protected static int |
PLAIN_XML_FLAG |
protected Map<String,Object> |
properties |
protected boolean |
saved |
protected static int |
SOAP1_1_FLAG |
protected static int |
SOAP1_2_FLAG |
protected SOAPPartImpl |
soapPartImpl |
protected static int |
XOP_FLAG |
CHARACTER_SET_ENCODING, WRITE_XML_DECLARATION
DEFAULT_SOAP_PROTOCOL, DYNAMIC_SOAP_PROTOCOL, SOAP_1_1_CONTENT_TYPE, SOAP_1_1_PROTOCOL, SOAP_1_2_CONTENT_TYPE, SOAP_1_2_PROTOCOL, SOAP_DATAENCODINGUNKNOWN_FAULT, SOAP_ENV_PREFIX, SOAP_MUSTUNDERSTAND_FAULT, SOAP_RECEIVER_FAULT, SOAP_SENDER_FAULT, SOAP_VERSIONMISMATCH_FAULT, URI_NS_SOAP_1_1_ENVELOPE, URI_NS_SOAP_1_2_ENCODING, URI_NS_SOAP_1_2_ENVELOPE, URI_NS_SOAP_ENCODING, URI_NS_SOAP_ENVELOPE, URI_SOAP_1_2_ROLE_NEXT, URI_SOAP_1_2_ROLE_NONE, URI_SOAP_1_2_ROLE_ULTIMATE_RECEIVER, URI_SOAP_ACTOR_NEXT
Modifier | Constructor and Description |
---|---|
protected |
MessageImpl()
Construct a new message.
|
protected |
MessageImpl(boolean isFastInfoset,
boolean acceptFastInfoset)
Construct a new message.
|
protected |
MessageImpl(MimeHeaders headers,
ContentType contentType,
int stat,
InputStream in)
Construct a message from an input stream.
|
|
MessageImpl(MimeHeaders headers,
ContentType ct,
int stat,
XMLStreamReader reader) |
protected |
MessageImpl(MimeHeaders headers,
InputStream in)
Construct a message from an input stream.
|
protected |
MessageImpl(SOAPMessage msg)
Shallow copy.
|
Modifier and Type | Method and Description |
---|---|
boolean |
acceptFastInfoset() |
void |
addAttachmentPart(AttachmentPart attachment)
Adds the given
AttachmentPart object to this SOAPMessage
object. |
int |
countAttachments()
Gets a count of the number of attachments in this message.
|
AttachmentPart |
createAttachmentPart()
Creates a new empty
AttachmentPart object. |
String |
getAction() |
AttachmentPart |
getAttachment(SOAPElement element)
Returns an
AttachmentPart object that is associated with an
attachment that is referenced by this SOAPElement or
null if no such attachment exists. |
Iterator<AttachmentPart> |
getAttachments()
Retrieves all the
AttachmentPart objects that are part of
this SOAPMessage object. |
Iterator<AttachmentPart> |
getAttachments(MimeHeaders headers)
Retrieves all the
AttachmentPart objects that have header
entries that match the specified headers. |
String |
getBaseType() |
String |
getCharset() |
String |
getContentDescription()
Retrieves a description of this
SOAPMessage object's
content. |
String |
getContentType() |
protected abstract String |
getExpectedAcceptHeader() |
protected abstract String |
getExpectedContentType() |
MimeHeaders |
getMimeHeaders()
Returns all the transport-specific MIME headers for this
SOAPMessage
object in a transport-independent fashion. |
Object |
getProperty(String property)
Retrieves value of the specified property.
|
SOAPBody |
getSOAPBody()
Gets the SOAP Body contained in this
SOAPMessage object. |
SOAPHeader |
getSOAPHeader()
Gets the SOAP Header contained in this
SOAPMessage
object. |
abstract SOAPPart |
getSOAPPart()
Gets the SOAP part of this
SOAPMessage object. |
protected abstract boolean |
isCorrectSoapVersion(int contentTypeId) |
boolean |
isFastInfoset() |
boolean |
isLazySoapBodyParsing() |
protected static boolean |
isSoap1_1Content(int stat) |
protected static boolean |
isSoap1_2Content(int stat)
Check whether it is SOAP 1.2 content.
|
void |
removeAllAttachments()
Removes all
AttachmentPart objects that have been added
to this SOAPMessage object. |
void |
removeAttachments(MimeHeaders headers)
Removes all the
AttachmentPart objects that have header
entries that match the specified headers. |
void |
saveChanges()
Updates this
SOAPMessage object with all the changes that
have been made to it. |
boolean |
saveRequired()
Indicates whether this
SOAPMessage object needs to have
the method saveChanges called on it. |
void |
setAction(String action) |
void |
setBaseType(String type) |
void |
setCharset(String charset) |
void |
setContentDescription(String description)
Sets the description of this
SOAPMessage object's
content with the given description. |
void |
setContentType(String type) |
void |
setIsFastInfoset(boolean value) |
void |
setLazyAttachments(boolean flag) |
void |
setProperty(String property,
Object value)
Associates the specified value with the specified property.
|
void |
writeTo(OutputStream out)
Writes this
SOAPMessage object to the given output
stream. |
createAttachmentPart, createAttachmentPart
public static final String CONTENT_ID
public static final String CONTENT_LOCATION
protected static final Logger log
protected static final int PLAIN_XML_FLAG
protected static final int MIME_MULTIPART_FLAG
protected static final int SOAP1_1_FLAG
protected static final int SOAP1_2_FLAG
protected static final int MIME_MULTIPART_XOP_SOAP1_1_FLAG
protected static final int MIME_MULTIPART_XOP_SOAP1_2_FLAG
protected static final int XOP_FLAG
protected static final int FI_ENCODED_FLAG
protected MimeHeaders headers
protected ContentType contentType
protected SOAPPartImpl soapPartImpl
protected FinalArrayList<AttachmentPart> attachments
protected boolean saved
protected byte[] messageBytes
protected int messageByteCount
protected MimeMultipart multiPart
protected boolean attachmentsInitialized
protected boolean isFastInfoset
protected boolean acceptFastInfoset
protected MimeMultipart mmp
public static final String LAZY_SOAP_BODY_PARSING
protected MessageImpl()
protected MessageImpl(boolean isFastInfoset, boolean acceptFastInfoset)
isFastInfoset
- whether it is fast infosetacceptFastInfoset
- whether to accept fast infosetprotected MessageImpl(SOAPMessage msg)
msg
- SoapMessageprotected MessageImpl(MimeHeaders headers, InputStream in) throws SOAPExceptionImpl
headers
- MimeHeadersin
- InputStreamSOAPExceptionImpl
- in case of I/O errorprotected MessageImpl(MimeHeaders headers, ContentType contentType, int stat, InputStream in) throws SOAPExceptionImpl
headers
- headerscontentType
- The parsed content type header from the headers variable.
This is redundant parameter, but it avoids reparsing this header again.stat
- The result of identifyContentType(ContentType)
over
the contentType parameter. This redundant parameter, but it avoids
recomputing this information again.in
- input streamSOAPExceptionImpl
- in case of an errorpublic MessageImpl(MimeHeaders headers, ContentType ct, int stat, XMLStreamReader reader) throws SOAPExceptionImpl
SOAPExceptionImpl
protected static boolean isSoap1_1Content(int stat)
stat
- the mask value obtained from identifyContentType(ContentType)
protected static boolean isSoap1_2Content(int stat)
stat
- the mask value obtained from identifyContentType(ContentType)
public boolean isFastInfoset()
public boolean acceptFastInfoset()
public void setIsFastInfoset(boolean value)
public boolean isLazySoapBodyParsing()
public Object getProperty(String property)
SOAPMessage
getProperty
in class SOAPMessage
property
- the name of the property to retrievenull
if no such property exists.public void setProperty(String property, Object value)
SOAPMessage
The valid property names include
SOAPMessage.WRITE_XML_DECLARATION
and
SOAPMessage.CHARACTER_SET_ENCODING
. All of these standard SAAJ
properties are prefixed by "javax.xml.soap". Vendors may also add
implementation specific properties. These properties must be prefixed
with package names that are unique to the vendor.
Setting the property WRITE_XML_DECLARATION
to "true"
will cause an XML Declaration to be written out at the start of the SOAP
message. The default value of "false" suppresses this declaration.
The property CHARACTER_SET_ENCODING
defaults to the value
"utf-8"
which causes the SOAP message to be encoded using
UTF-8. Setting CHARACTER_SET_ENCODING
to "utf-16"
causes the SOAP message to be encoded using UTF-16.
Some implementations may allow encodings in addition to UTF-8 and UTF-16. Refer to your vendor's documentation for details.
setProperty
in class SOAPMessage
property
- the property with which the specified value is to be
associated.value
- the value to be associated with the specified propertyprotected abstract boolean isCorrectSoapVersion(int contentTypeId)
protected abstract String getExpectedContentType()
protected abstract String getExpectedAcceptHeader()
public MimeHeaders getMimeHeaders()
SOAPMessage
SOAPMessage
object in a transport-independent fashion.getMimeHeaders
in class SOAPMessage
MimeHeaders
object containing the MimeHeader
objectspublic String getContentType()
public void setContentType(String type)
public String getBaseType()
public void setBaseType(String type)
public String getAction()
public void setAction(String action)
public String getCharset()
public void setCharset(String charset)
public boolean saveRequired()
SOAPMessage
SOAPMessage
object needs to have
the method saveChanges
called on it.saveRequired
in class SOAPMessage
true
if saveChanges
needs to be
called; false
otherwise.public String getContentDescription()
SOAPMessage
SOAPMessage
object's
content.getContentDescription
in class SOAPMessage
String
describing the content of this
message or null
if no description has been setSOAPMessage.setContentDescription(java.lang.String)
public void setContentDescription(String description)
SOAPMessage
SOAPMessage
object's
content with the given description.setContentDescription
in class SOAPMessage
description
- a String
describing the content of this
messageSOAPMessage.getContentDescription()
public abstract SOAPPart getSOAPPart()
SOAPMessage
SOAPMessage
object.
SOAPMessage
object contains one or more attachments, the
SOAP Part must be the first MIME body part in the message.
getSOAPPart
in class SOAPMessage
SOAPPart
object for this SOAPMessage
objectpublic void removeAllAttachments()
SOAPMessage
AttachmentPart
objects that have been added
to this SOAPMessage
object.
This method does not touch the SOAP part.
removeAllAttachments
in class SOAPMessage
public int countAttachments()
SOAPMessage
countAttachments
in class SOAPMessage
AttachmentPart
objects that are
part of this SOAPMessage
objectpublic void addAttachmentPart(AttachmentPart attachment)
SOAPMessage
AttachmentPart
object to this SOAPMessage
object. An AttachmentPart
object must be created before
it can be added to a message.addAttachmentPart
in class SOAPMessage
attachment
- an AttachmentPart
object that is to become part
of this SOAPMessage
objectpublic Iterator<AttachmentPart> getAttachments()
SOAPMessage
AttachmentPart
objects that are part of
this SOAPMessage
object.getAttachments
in class SOAPMessage
public Iterator<AttachmentPart> getAttachments(MimeHeaders headers)
SOAPMessage
AttachmentPart
objects that have header
entries that match the specified headers. Note that a returned
attachment could have headers in addition to those specified.getAttachments
in class SOAPMessage
headers
- a MimeHeaders
object containing the MIME
headers for which to searchpublic void removeAttachments(MimeHeaders headers)
SOAPMessage
AttachmentPart
objects that have header
entries that match the specified headers. Note that the removed
attachment could have headers in addition to those specified.removeAttachments
in class SOAPMessage
headers
- a MimeHeaders
object containing the MIME
headers for which to searchpublic AttachmentPart createAttachmentPart()
SOAPMessage
AttachmentPart
object. Note that the
method addAttachmentPart
must be called with this new
AttachmentPart
object as the parameter in order for it to
become an attachment to this SOAPMessage
object.createAttachmentPart
in class SOAPMessage
AttachmentPart
object that can be populated
and added to this SOAPMessage
objectpublic AttachmentPart getAttachment(SOAPElement element) throws SOAPException
SOAPMessage
AttachmentPart
object that is associated with an
attachment that is referenced by this SOAPElement
or
null
if no such attachment exists. References can be made
via an href
attribute as described in
SOAP Messages with Attachments,
or via a single Text
child node containing a URI as
described in the WS-I Attachments Profile 1.0 for elements of schema
type ref:swaRef(ref:swaRef). These two mechanisms must be supported.
The support for references via href
attribute also implies that
this method should also be supported on an element that is an
xop:Include element (
XOP).
other reference mechanisms may be supported by individual
implementations of this standard. Contact your vendor for details.getAttachment
in class SOAPMessage
element
- The SOAPElement
containing the reference to an AttachmentAttachmentPart
or null if no such
AttachmentPart
exists or no reference can be
found in this SOAPElement
.SOAPException
- if there is an error in the attempt to access the
attachmentpublic void saveChanges() throws SOAPException
SOAPMessage
SOAPMessage
object with all the changes that
have been made to it. This method is called automatically when
SOAPMessage.writeTo(OutputStream)
is called. However, if
changes are made to a message that was received or to one that has
already been sent, the method saveChanges
needs to be
called explicitly in order to save the changes. The method saveChanges
also generates any changes that can be read back (for example, a
MessageId in profiles that support a message id). All MIME headers in a
message that is created for sending purposes are guaranteed to have
valid values only after saveChanges
has been called.
In addition, this method marks the point at which the data from all
constituent AttachmentPart
objects are pulled into the
message.
saveChanges
in class SOAPMessage
SOAPException
public void writeTo(OutputStream out) throws SOAPException, IOException
SOAPMessage
SOAPMessage
object to the given output
stream. The externalization format is as defined by the SOAP 1.1 with
Attachments specification.
If there are no attachments, just an XML stream is written out. For
those messages that have attachments, writeTo
writes a
MIME-encoded byte stream.
Note that this method does not write the transport-specific MIME Headers of the Message
writeTo
in class SOAPMessage
out
- the OutputStream
object to which this SOAPMessage
object will be writtenSOAPException
- if there was a problem in externalizing this SOAP messageIOException
- if an I/O error occurspublic SOAPBody getSOAPBody() throws SOAPException
SOAPMessage
SOAPMessage
object.
getSOAPBody
in class SOAPMessage
SOAPBody
object contained by this SOAPMessage
objectSOAPException
- if the SOAP Body does not exist or cannot be retrievedpublic SOAPHeader getSOAPHeader() throws SOAPException
SOAPMessage
SOAPMessage
object.
getSOAPHeader
in class SOAPMessage
SOAPHeader
object contained by this SOAPMessage
objectSOAPException
- if the SOAP Header does not exist or cannot be retrievedpublic void setLazyAttachments(boolean flag)
Copyright © 2021 JBoss by Red Hat. All rights reserved.