WebSphere Message Service Client for C/C++, Version 2.0.2 Operating Systems: AIX, Linux, Solaris, Windows

The body of an XMS message

The body of a message contains application data. However, a message can have no body, and comprise only the header fields and properties.

XMS supports five types of message body:
Bytes
The body contains a stream of bytes. A message with this type of body is called a bytes message. The BytesMessage class for C or C++ contains the methods to process the body of a bytes message.
Map
The body contains a set of name-value pairs, where each value has an associated data type. A message with this type of body is called a map message. The MapMessage class for C or C++ contains the methods to process the body of a map message.
Object
The body contains a serialized Java or .NET object. A message with this type of body is called an object message. The ObjectMessage class for C or C++ contains the methods to process the body of an object message.
Stream
The body contains a stream of values, where each value has an associated data type. A message with this type of body is called a stream message. The StreamMessage class for C or C++contains the methods to process the body of a stream message.
Text
The body contains a string. A message with this type of body is called a text message. The TextMessage class for C or C++contains the methods to process the body of a text message.

In the C interface, XMS returns a message handle to an application when the application creates a message. The application can use this handle to call any of the methods of the Message class and any of the methods of the BytesMessage, MapMessage, ObjectMessage, StreamMessage, or TextMessage class, whichever is appropriate for the type of message body. However, if an application tries to call a method that is inappropriate for the type of message body, the call fails and XMS returns an error.

A C application can call the xmsMsgGetTypeId() function to determine the body type of a message. The function returns one of the following values:
XMS_MESSAGE_TYPE_BASE
If the message has no body
XMS_MESSAGE_TYPE_BYTES
If the message is a bytes message
XMS_MESSAGE_TYPE_MAP
If the message is a map message
XMS_MESSAGE_TYPE_OBJECT
If the message is an object message
XMS_MESSAGE_TYPE_STREAM
If the message is a stream message
XMS_MESSAGE_TYPE_TEXT
If the message is a text message

In the C++ interface, BytesMessage, MapMessage, ObjectMessage, StreamMessage, and TextMessage are subclasses of the Message class.

For information about the size and maximum and minimum values of each of these data types, see Table 1.

For more information about the required data types for elements of application data written in the body of a message and about the five types of body message, see the subtopics.


Reference topic

Terms of Use | Rate this page

Last updated: 24 May 2011

(C) Copyright IBM Corporation 2005, 2011. All Rights Reserved.