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
Usually, you do not have to be aware of conversion between message formats to exchange JMS messages between service integration and WebSphere MQ, because service integration performs the appropriate conversion automatically, including character and numeric encoding. However, you might have 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 have to specify a non-default map message encoding format.
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 by 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 by 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. However, be aware
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.
- If the message contains
other headers, instead of, or as well
as, the MQRFH2 header, those headers are treated as part of the JMS
message body and the JMS message becomes a bytes message.
Figure 1. Message conversion to and from WebSphere MQ format
For reference
information about the mappings for specific
message header fields and properties between a service integration
bus and WebSphere MQ, see the topics
listed in the related reference. To help you program applications
that interoperate with WebSphere MQ,
these topics describe how the message formats are mapped between service
integration messages and WebSphere MQ messages.