WebSphere Message Broker, Version 8.0.0.7
Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS
See information about the latest product version
See information about the latest product version
MIME tree details
A MIME message is represented in the broker as a logical tree. When it writes a message, the MIME parser creates a message bit stream by using the logical message tree.
Logical tree elements
A MIME
message is represented in the broker as a logical tree with the following
elements:
- The root of the tree is a node called MIME.
- All correctly formatted headers are stored in the logical tree,
regardless of whether they conform to the MIME standard. The headers
appear in the logical tree as name=value, as shown here:
Content-Type=text/xml
- A multipart MIME message is represented by a subtree with a root node called Parts.
- Any preamble or epilogue data associated with a multipart MIME message is represented by value-only elements appearing as the first and last children of Parts.
- In the special case of single-part MIME, the content is represented by a subtree with the root called Data.
- Each part of a multipart MIME message is represented by an element called Part with a child element for each MIME header, and a last child called Data.
- The Data element represents the content of a MIME part. This makes it easier to test for the presence of body content by using ESQL because the Data element is always the last child of its parent.
Writing MIME messages
When it writes a message,
the MIME parser creates a message bit stream by using the logical
message tree. The MIME domain does not enforce all of the constraints
that the MIME specification requires, therefore it might generate
MIME messages that do not conform to the MIME specification. The constraints
that the MIME parser imposes are:
- The tree must have a root called MIME, and constituent Parts, Part, and Data elements, as described in Logical tree elements.
- Exactly one Content-Type header must be present at the top level of the tree, or be available by using the ContentType property. Media subtypes are not validated.
- If the media type is multipart, a valid boundary parameter must also exist.
- Any constituent MIME parts can have exactly one Content-Type header. If the value of this header starts with multipart, it must also include a valid boundary parameter. The value of this boundary parameter must not be the same as other boundary parameter values in the definition.
- The MIME Content-Type value "message" is not supported and results in an error at run time.
- All name-value elements in the tree are written as name: value followed by the ASCII sequence <CR><LF>.
If you have other elements in the tree, the parser behaves
in the same way as the HTTP header parser:
- A name-only element or a NameValue element with a NULL value results in Name: NULL .
- Any children of a name-value element are ignored.