Auto Truncation of Correlation ID and Message ID in MQ header
book
Article ID: KB0083975
calendar_today
Updated On:
Products
Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for IBM MQ
-
Description
Customers will face an issue with the MQ plugin. It is auto-truncating the MQ Correlation and Message ID in MQ properties.
Example.
Suppose an Input customer may have a Correlation ID and Message ID both as TTIwMTcwNTA4QVNERkdISktMMTcwNTA4MjIxNjI3NjQ5 . But in the output, the customer can see that the value is truncated to TTIwMTcwNTA4QVNERkdISktMMTcwNTA4 which results in the Correlation ID value after converting to string to be truncated to : M20170508ASDFGHJKL170508 .
Issue/Introduction
Auto Truncation of Correlation ID and Message ID in MQ header
Environment
Business Works, MQ Plugin.
Resolution
As per IBM's documentation, the fields "CorrelId" which relates to "correlationid" and "MsgId" which relates to "messageid" in the plugin have Data Type as "MQBYTE24" and whose Representation is as "typedef MQBYTE MQBYTE24[24];" which is a char array of 24. If the customer wants to pass those values (correlationid,messageid) which are greater than 24 bytes, they can use the following approach.
When customers want to set their own value (usually in the Correlation Id) and it is less than 24 bytes, they must pad it out with zero or some other constant to make up the full 24 bytes. When the customer value is more than 24 bytes, then some way must be found so that it can be reduced to 24 bytes. As a workaround, they can pass the same values using the PUT activity and retrieve the same using the GET activity by using the following options.
1). Using WebSphere MQ Application Properties
Customers can map the input which they are getting from the other system to the schema using the WMQ Application Properties, which can be retrieved from the MQ Server using the MQ get activity so that the values will not be truncated. By using this activity, the values will be available in the "appProperties" of the MQ GET activity.
2. Using WebSphere MQ Message Body Fields
Customers can map the input which they are getting from the other system to the schema using the WMQ Message Fields and which can be retrieved from the MQ server using the MQ GET activity so that the values will not be truncated. By using this activity, the values will be available in the "dynamicProperties" of the MQ GET activity.