Auto Truncation of Correlation ID and Message ID in MQ header

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.

Additional Information

https://www.ibm.com/developerworks/community/forums/html/topic?id=d1d4bf6d-f5d4-467e-a702-1a9cbf890b5b
https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzak.doc/fr13110_.htm
https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzak.doc/fr10490_.htm