Messages are converted between WebSphere® MQ format and service integration
format as they flow between the two systems.
Exchanging messages between JMS programs through service integration and WebSphere MQ
In general, you do not need to be aware of conversion between message formats to exchange JMS messages between service integration and WebSphere MQ. However, you might need to learn about message conversion if your JMS applications do not behave as expected or if your service integration configuration includes JMS programs or mediations that process messages to or from non-JMS WebSphere MQ programs.
If your service integration applications exchange MapMessage objects with WebSphere MQ applications, you might need to specify a non-default map message encoding format. For more information, see Setting the WebSphere MQ encoding format for JMS Map entries.
When service integration converts messages to and
from WebSphere MQ format
Service
integration converts a service integration message into a WebSphere MQ message in the
following circumstances:
- When service integration sends a message to WebSphere MQ using a WebSphere MQ link.
- When a service integration mediation places the message on a queue
point that is a WebSphere MQ
queue.
- When a service integration application sends the message to a
destination where the mediation point (if any) or the queue point
(if there is no mediation) is a WebSphere MQ
queue.
Service integration converts a WebSphere MQ message into a service integration
message in the following circumstances:
- When WebSphere MQ
sends the message to a service integration bus using a WebSphere MQ link.
- When a service integration mediation receives the message from
a mediation point that is a WebSphere MQ
queue.
- When a service integration application receives the message from
a destination where the queue point is a WebSphere MQ queue.
When you use
the WebSphere MQ
messaging provider, there is no conversion between WebSphere MQ format and service
integration format.
Overview of message conversion
When service
integration converts a message to WebSphere MQ
format, it usually constructs a WebSphere MQ
message descriptor (MQMD), a rules and formatting header 2 (MQRFH2),
and a message payload:
- Message descriptor (MQMD): Service integration sets fields
in the MQMD based on the service integration message header fields
and properties; these include JMS message header fields and properties
applicable to the message. Service integration always constructs
an MQMD.
- Rules and formatting header 2 (MQRFH2): Service integration
sets fields in the MQRFH2 based on the service integration message
header fields and properties. Some WebSphere MQ applications cannot process
messages that contain an MQRFH2. To simplify interoperation, you
can configure service integration to omit the MQRFH2 from messages
for applications that cannot process the MQRFH2. Note that when service
integration omits the MQRFH2, it discards the corresponding service
integration header fields and properties.
- Message payload: Service integration uses the body of
the service integration message (if any) as the payload of the WebSphere MQ message.
When service integration converts a message from WebSphere MQ format:
- It sets the service integration message header fields and properties
from the MQMD and (if present) the MQRFH2 in the WebSphere MQ message.
- It sets the service integration message body to the contents (if
any) of the WebSphere MQ
message that immediately follow the MQRFH2.
In the following figure there is a service integration
message and a WebSphere MQ message. The service integration message
is encapsulated by the JMS message implementation for service integration.
The service integration message contains "header fields", "Properties"
and a "Body". The WebSphere MQ message contains a "MQMD", a "MQRFH2"
and a "Payload". There is a two-way conversion flows between each
of the "header fields" and "Properties" boxes, each of the "MQMD"
and "MQRFH2" boxes, and also between the "Body" and the "Payload"
boxes.
Figure 1. Message conversion to and from WebSphere MQ format