APAR status
Closed as program error.
Error description
The MQ AMQP channel assumes that the AMQPCorrelationID property on an AMQP message passed to it is of type String and so converts the binary object representing the AMQPCorrelationID to a String value. This causes the property to be stored incorrectly.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of: - The MQ V8 AMQP channel. who have AMQP client applications that: - Connect to a queue manager using an instance of the AMQP channel. - Send AMQP messages to MQ that have either the AMQP "message-id" or "correlation-id" property set. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When the AMQP channel receives an AMQP message, it will construct a corresponding MQ message and copy data from the AMQP message into the MQ message. Any AMQP properties on the message are also copied across to the MQ message - some of the AMQP properties map to fields within the MQMD, and others are stored as fields within an <mq_amqp> folder inside the MQRFH2 header. Detailed information about this mapping can be found in the "Mapping AMQP fields onto IBM MQ fields (incoming messages)" topic within the MQ V8 section of IBM Knowledge Center. The URI for this topic is shown below: https://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm .mq.dev.doc/q125070_.htm When the AMQP channel received an AMQP message that contained the "message-id" property, set as a Byte String, it incorrectly converted the value of the "message-id" property into a String before storing it in the "mq_amqp.Prp.Mid" field within the MQRFH2 header for the corresponding MQ message. Similarly, if the AMQP channel received an AMQP message that contained the "correlation-id" property, set as a Byte String, then the value of this property was incorrectly converted into a String before being stored in the "mq_amqp.Prp.Cid" field within the MQRFH2 header for the corresponding MQ message. For example, if an AMQP message had the "message-id" property set to the Byte String: 414D5143514D312020202020202020200668D958213F9A0 then the MQ message that was created from the AMQP message would have the "mq_amqp.Prp.Mid" field within the MQRFH2 header set to: "AMQ QM1 \x99\x0e\xd0X$X\x0ch"
Problem conclusion
The AMQP channel has been updated so that: - If it receives an AMQP message that has the "message-id" property set as a Byte String, then the value of the property will be stored in "mq_amqp.Prp.Mid" field within the MQRFH2 header for the corresponding MQ message as a MQTYPE_BYTE_STRING. - If it receives an AMQP message that has the "correlation-id" property set as a Byte String, then the value of this property will be stored in "mq_amqp.Prp.Cid" field within the MQRFH2 header for the corresponding MQ message as a MQTYPE_BYTE_STRING. For example, if an AMQP client sends a AMQP message that has the "message-id" property set to the Byte String: 414D5143514D312020202020202020200668D958213F9A0 to MQ, then the corresponding MQ message will have the "mq_amqp.Prp.Mid" field within the MQRFH2 header set to: 414D5143514D312020202020202020200668D958213F9A0 In addition to this, the AMQP channel has also been changed so that: - If it receives an AMQP message that has the "message-id" property set as something other than a String or a Byte String, the message will be rejected and the following error generated: AMQXR2060E: A message from client ''[client]'' has been rejected because the specified AMQP message-id property ''[message-id property value]'' has been specified with a data type of ''[message-id property type]'', which is not supported. - If it receives an AMQP message that has the "correlation-id" property set as something other than a String or a Byte String, the error: AMQXR2061E: A message from client ''[client]'' has been rejected because the specified AMQP correlation-id property ''[correlation-id property value]'' has been specified with a data type of ''[correlation-id property type]'', which is not supported. will be generated, and the message will be rejected. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v8.0 8.0.0.8 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT19966
Reported component name
WMQ BASE MULTIP
Reported component ID
5724H7251
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-03-30
Closed date
2017-06-23
Last modified date
2017-06-23
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WMQ BASE MULTIP
Fixed component ID
5724H7251
Applicable component levels
R800 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
23 June 2017