com.sun.xml.messaging.saaj.soap
Class MessageImpl

java.lang.Object
  extended by javax.xml.soap.SOAPMessage
      extended by com.sun.xml.messaging.saaj.soap.MessageImpl
All Implemented Interfaces:
SOAPConstants
Direct Known Subclasses:
Message1_1Impl, Message1_2Impl

public abstract class MessageImpl
extends SOAPMessage
implements SOAPConstants

The message implementation for SOAP messages with attachments. Messages for specific profiles will likely extend this MessageImpl class and add more value for that particular profile.

Author:
Anil Vijendran (akv@eng.sun.com), Rajiv Mordani (rajiv.mordani@sun.com), Manveen Kaur (manveen.kaur@sun.com)

Field Summary
protected  boolean acceptFastInfoset
          True if the Accept header of this message includes application/fastinfoset
protected  FinalArrayList 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  HashMap properties
           
protected  boolean saved
           
protected static int SOAP1_1_FLAG
           
protected static int SOAP1_2_FLAG
           
protected  SOAPPartImpl soapPartImpl
           
protected static int XOP_FLAG
           
 
Fields inherited from class javax.xml.soap.SOAPMessage
CHARACTER_SET_ENCODING, WRITE_XML_DECLARATION
 
Fields inherited from interface javax.xml.soap.SOAPConstants
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
 
Constructor Summary
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.
 
Method Summary
 boolean acceptFastInfoset()
           
 void addAttachmentPart(AttachmentPart attachment)
           
 int countAttachments()
           
 AttachmentPart createAttachmentPart()
           
 String getAction()
           
 AttachmentPart getAttachment(SOAPElement element)
           
 Iterator getAttachments()
           
 Iterator getAttachments(MimeHeaders headers)
           
 String getBaseType()
           
 String getCharset()
           
 String getContentDescription()
           
 String getContentType()
           
protected abstract  String getExpectedAcceptHeader()
           
protected abstract  String getExpectedContentType()
           
 MimeHeaders getMimeHeaders()
           
 Object getProperty(String property)
           
 SOAPBody getSOAPBody()
           
 SOAPHeader getSOAPHeader()
           
abstract  SOAPPart getSOAPPart()
           
protected abstract  boolean isCorrectSoapVersion(int contentTypeId)
           
 boolean isFastInfoset()
           
 boolean isLazySoapBodyParsing()
           
protected static boolean isSoap1_1Content(int stat)
           
protected static boolean isSoap1_2Content(int stat)
           
 void removeAllAttachments()
           
 void removeAttachments(MimeHeaders headers)
           
 void saveChanges()
           
 boolean saveRequired()
           
 void setAction(String action)
           
 void setBaseType(String type)
           
 void setCharset(String charset)
           
 void setContentDescription(String description)
           
 void setContentType(String type)
           
 void setIsFastInfoset(boolean value)
           
 void setLazyAttachments(boolean flag)
           
 void setProperty(String property, Object value)
           
 void writeTo(OutputStream out)
           
 
Methods inherited from class javax.xml.soap.SOAPMessage
createAttachmentPart, createAttachmentPart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTENT_ID

public static final String CONTENT_ID
See Also:
Constant Field Values

CONTENT_LOCATION

public static final String CONTENT_LOCATION
See Also:
Constant Field Values

log

protected static final Logger log

PLAIN_XML_FLAG

protected static final int PLAIN_XML_FLAG
See Also:
Constant Field Values

MIME_MULTIPART_FLAG

protected static final int MIME_MULTIPART_FLAG
See Also:
Constant Field Values

SOAP1_1_FLAG

protected static final int SOAP1_1_FLAG
See Also:
Constant Field Values

SOAP1_2_FLAG

protected static final int SOAP1_2_FLAG
See Also:
Constant Field Values

MIME_MULTIPART_XOP_SOAP1_1_FLAG

protected static final int MIME_MULTIPART_XOP_SOAP1_1_FLAG
See Also:
Constant Field Values

MIME_MULTIPART_XOP_SOAP1_2_FLAG

protected static final int MIME_MULTIPART_XOP_SOAP1_2_FLAG
See Also:
Constant Field Values

XOP_FLAG

protected static final int XOP_FLAG
See Also:
Constant Field Values

FI_ENCODED_FLAG

protected static final int FI_ENCODED_FLAG
See Also:
Constant Field Values

headers

protected MimeHeaders headers

contentType

protected ContentType contentType

soapPartImpl

protected SOAPPartImpl soapPartImpl

attachments

protected FinalArrayList attachments

saved

protected boolean saved

messageBytes

protected byte[] messageBytes

messageByteCount

protected int messageByteCount

properties

protected HashMap properties

multiPart

protected MimeMultipart multiPart

attachmentsInitialized

protected boolean attachmentsInitialized

isFastInfoset

protected boolean isFastInfoset
True if this part is encoded using Fast Infoset. MIME -> application/fastinfoset


acceptFastInfoset

protected boolean acceptFastInfoset
True if the Accept header of this message includes application/fastinfoset


mmp

protected MimeMultipart mmp

LAZY_SOAP_BODY_PARSING

public static final String LAZY_SOAP_BODY_PARSING
See Also:
Constant Field Values
Constructor Detail

MessageImpl

protected MessageImpl()
Construct a new message. This will be invoked before message sends.


MessageImpl

protected MessageImpl(boolean isFastInfoset,
                      boolean acceptFastInfoset)
Construct a new message. This will be invoked before message sends.


MessageImpl

protected MessageImpl(SOAPMessage msg)
Shallow copy.


MessageImpl

protected MessageImpl(MimeHeaders headers,
                      InputStream in)
               throws SOAPExceptionImpl
Construct a message from an input stream. When messages are received, there's two parts -- the transport headers and the message content in a transport specific stream.

Throws:
SOAPExceptionImpl

MessageImpl

protected MessageImpl(MimeHeaders headers,
                      ContentType contentType,
                      int stat,
                      InputStream in)
               throws SOAPExceptionImpl
Construct a message from an input stream. When messages are received, there's two parts -- the transport headers and the message content in a transport specific stream.

Parameters:
contentType - 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.
Throws:
SOAPExceptionImpl

MessageImpl

public MessageImpl(MimeHeaders headers,
                   ContentType ct,
                   int stat,
                   XMLStreamReader reader)
            throws SOAPExceptionImpl
Throws:
SOAPExceptionImpl
Method Detail

isSoap1_1Content

protected static boolean isSoap1_1Content(int stat)
Parameters:
stat - the mask value obtained from identifyContentType(ContentType)

isSoap1_2Content

protected static boolean isSoap1_2Content(int stat)
Parameters:
stat - the mask value obtained from identifyContentType(ContentType)

isFastInfoset

public boolean isFastInfoset()

acceptFastInfoset

public boolean acceptFastInfoset()

setIsFastInfoset

public void setIsFastInfoset(boolean value)

isLazySoapBodyParsing

public boolean isLazySoapBodyParsing()

getProperty

public Object getProperty(String property)
Overrides:
getProperty in class SOAPMessage

setProperty

public void setProperty(String property,
                        Object value)
Overrides:
setProperty in class SOAPMessage

isCorrectSoapVersion

protected abstract boolean isCorrectSoapVersion(int contentTypeId)

getExpectedContentType

protected abstract String getExpectedContentType()

getExpectedAcceptHeader

protected abstract String getExpectedAcceptHeader()

getMimeHeaders

public MimeHeaders getMimeHeaders()
Specified by:
getMimeHeaders in class SOAPMessage

getContentType

public String getContentType()

setContentType

public void setContentType(String type)

getBaseType

public String getBaseType()

setBaseType

public void setBaseType(String type)

getAction

public String getAction()

setAction

public void setAction(String action)

getCharset

public String getCharset()

setCharset

public void setCharset(String charset)

saveRequired

public boolean saveRequired()
Specified by:
saveRequired in class SOAPMessage

getContentDescription

public String getContentDescription()
Specified by:
getContentDescription in class SOAPMessage

setContentDescription

public void setContentDescription(String description)
Specified by:
setContentDescription in class SOAPMessage

getSOAPPart

public abstract SOAPPart getSOAPPart()
Specified by:
getSOAPPart in class SOAPMessage

removeAllAttachments

public void removeAllAttachments()
Specified by:
removeAllAttachments in class SOAPMessage

countAttachments

public int countAttachments()
Specified by:
countAttachments in class SOAPMessage

addAttachmentPart

public void addAttachmentPart(AttachmentPart attachment)
Specified by:
addAttachmentPart in class SOAPMessage

getAttachments

public Iterator getAttachments()
Specified by:
getAttachments in class SOAPMessage

getAttachments

public Iterator getAttachments(MimeHeaders headers)
Specified by:
getAttachments in class SOAPMessage

removeAttachments

public void removeAttachments(MimeHeaders headers)
Specified by:
removeAttachments in class SOAPMessage

createAttachmentPart

public AttachmentPart createAttachmentPart()
Specified by:
createAttachmentPart in class SOAPMessage

getAttachment

public AttachmentPart getAttachment(SOAPElement element)
                             throws SOAPException
Specified by:
getAttachment in class SOAPMessage
Throws:
SOAPException

saveChanges

public void saveChanges()
                 throws SOAPException
Specified by:
saveChanges in class SOAPMessage
Throws:
SOAPException

writeTo

public void writeTo(OutputStream out)
             throws SOAPException,
                    IOException
Specified by:
writeTo in class SOAPMessage
Throws:
SOAPException
IOException

getSOAPBody

public SOAPBody getSOAPBody()
                     throws SOAPException
Overrides:
getSOAPBody in class SOAPMessage
Throws:
SOAPException

getSOAPHeader

public SOAPHeader getSOAPHeader()
                         throws SOAPException
Overrides:
getSOAPHeader in class SOAPMessage
Throws:
SOAPException

setLazyAttachments

public void setLazyAttachments(boolean flag)


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.