How message properties and reliability levels are mapped between service integration and WebSphere MQ

Most message properties are mapped directly between service integration and WebSphere® MQ. However some message properties and reliability levels have no exact equivalent. When you pass messages between service integration and WebSphere MQ, these properties are either mapped to their nearest equivalent or preserved in the RFH2 header for the message.

Mapping the additional service integration message properties to MQRFH2 header fields

The following message fields, specific to the service integration bus, hold extra information not used in WebSphere MQ. To preserve these fields when a message is sent to WebSphere MQ, their values are added to the MQRFH2 header of application messages in a /sib folder.

Table 1. Mapping SIBusMessage fields or properties to MQRFH2 header fields
MQRFH2 header field Equivalent SIBusMessage field or property Description
JsApiUserId Application user identifier (JMSXUserId). The service integration application user identifier.
JsDst JMS destination. The service integration JMS destination to which the message was sent.
JsFmt Message format. The service integration message format.
JsSysMsgId System message identifier. The service integration system message identifier assigned to the message.
Note: When a message is sent to WebSphere MQ, a /sib folder is included in the MQRFH2 header of the message if both of the following are true:
  • The WebSphere MQ queue point attributes of the service integration destination are configured to use RFH2 headers.
  • The fields that correspond to the /sib folder content are set in the service integration message.

Mapping the JMS Destination property between service integration and WebSphere MQ

Service integration destinations and WebSphere MQ destinations are fundamentally different and there is no direct way to map between the two representations of the JMS destination property. To address this, when a message leaves service integration and enters WebSphere MQ, an additional RFH2 property is introduced into the RFH2 header to store the service integration destination property.

The service integration destination property is serialized, formatted as a hexadecimal string, then stored using the JsDst property of the service integration RFH2 folder.

For example: A service integration destination SIQ1 is localized on a WebSphere MQ queue MQQ1, residing on queue manager QM1. The following actions occur when a service integration application sends a message to SIQ1:
  • A serialized representation of PMQ1 is placed in the /sib folder of the RFH2 header, using the JsDst property.
  • The message is stored on MQQ1.
  • The string "queue://QM1/MQQ1" is also placed in the/jms folder of the RFH2 header using the Dst property.
This follows the convention used by the WebSphere MQ messaging provider to encode JMS destinations. If the message is retrieved by a service integration application, the JMS destination can be recovered from the /sib folder of the RFH2 header. If the message is retrieved by a WebSphere MQ application, the JMS destination can be recovered from the contents of the /jms folder of the RFH2 header.
Note: If a WebSphere MQ server bus member is configured so that it does not use RFH2 headers, the JMS destination is not preserved when the message enters WebSphere MQ. In this situation, a service integration application can still retrieve the JMS message, but any attempt to examine the JMS destination property causes a JMS exception.

Mapping the message reliability between service integration and WebSphere MQ

The order in which message reliability mappings are applied is significant, and there are several locations where message reliability can be set, overridden or mapped.

For messages being sent to a service integration destination that is localized on a WebSphere MQ server bus member, the following mappings apply in the order given:
  1. The message reliability can be set when the message is created.
  2. The message reliability can be mapped to a different level of reliability when it is sent to a destination. The settings that determine this mapping are a property of the service integration destination.
  3. If the message is sent to a destination that is assigned to a WebSphere MQ queue, the reliability is subject to the reliability mapping performed on all messages sent to WebSphere MQ. This process maps reliable persistent, or higher levels of reliability, to WebSphere MQ persistent reliability. All other levels of service integration reliability are mapped to WebSphere MQ nonpersistent reliability.
For messages being received by service integration destinations that are localized on a WebSphere MQ server bus member, the following mapping applies:
  • If a message is received from WebSphere MQ, then its WebSphere MQ persistence is mapped to a service integration reliability using the mappings defined as part of the WebSphere MQ server bus member from which the message is being retrieved.



Related concepts
How service integration converts messages to and from WebSphere MQ format
Related tasks
Designing applications to interoperate with WebSphere MQ using a WebSphere MQ server
Concept topic    

Terms of Use | Feedback

Last updated: Feb 19, 2011 5:25:36 AM CST
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v610web&product=was-nd-mp&topic=cjfp_props_map
File name: cjfp_props_map.html