A MultipartMessage is a message type that contains one or more discreet parts. A part can be a SonicMQ message, Character data, or Byte data. Parts are identified by a unique content ID character value and can be accessed by ID or index. Each part also contains a content-type value for identifying the data in the part. For message parts, the content-type is defined by Sonic and represents each message type supported by Sonic. A bytes part or text part has a user-defined content-type. There are no restrictions on what this content-type can be, but it is recommended that you use standard MIME types such as text/XML for XML data and text/plain for character data.

The following table lists the methods for handling multi-part messages.

Table 1. Methods for handling multi-part messages
Create method Populate method Access method
createMultipartMessage procedure addMessagePart procedure, addBytesPart procedure, addTextPart procedure, appendText procedure, clearBody procedure isMessagePart function, getBytesPartByIndex function, getBytesPartByID function, getContentType, getPartCount function, getTextPartByID function, getTextPartByIndex function, getMessagePartByIndex function, getMessagePartByID function
Note: The RAW data type has a 32K size limit. To bypass this limit, an application uses the writeBytesFromRaw procedure and the readBytesToRaw procedure repeatedly. The MEMPTR data type does not have a 32K limit. To access MEMPTR bytes data, an application uses the setMemptr procedure and the getMemptr function.