Fixes are available
APAR status
Closed as program error.
Error description
When an application using the WebSphere MQ classes for Java looks at the GroupStatus field in the MQGMO after receiving a message from a WebSphere MQ for z/OS queue manager, it finds an unusual character (0x40) in 1208 instead of one of the valid values (' ', 'G' or 'L') - in this case the expected value for the message (which was not in a group) is a blank (0x20). Note that 0x40 is the blank character in EBCDIC code pages, suggesting the field is not being converted properly. The GTF trace shows the GetMessageOptions structure is returned from the queue manager in EBCDIC with the correct blank (0x40) value for GroupStatus.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issues affects users of the WebSphere MQ V7.0 and V7.1 classes for Java that have applications running on z/OS which receive messages from a queue hosted on a WebSphere MQ V7.0 or V7.1 queue manager using one of the following methods: - MQQueue.get(MQMessage, MQGetMessageOptions) - MQQueue.get(MQMessage, MQGetMessageOptions, int) and then check the value of either the GroupStatus, Segmentation or SegmentStatus fields in the GetMessageOptions structure. Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java +Java zOS **************************************************************** PROBLEM SUMMARY: When an application using the WebSphere MQ classes for Java gets a message from a queue using one of the methods: - MQQueue.get(MQMessage, MQGetMessageOptions) - MQQueue.get(MQMessage, MQGetMessageOptions, int) the following fields in the MQGetMessageOptions object that is passed into the method are updated, based on data from the queue manager, to include details of the message that was returned: - GroupStatus - MsgToken - ResolvedQName - ReturnedLength - Segmentation - SegmentStatus The GroupStatus, Segmentation and SegmentStatus fields are defined as MQCHAR, and so are represented by a single byte. The WebSphere MQ V7.0 and V7.1 classes for Java incorrectly assumed that the byte that the queue manager returned for each of these fields corresponded to a character in Coded Character Set Identifier 1208. They then used this Coded Character Set Identifier when interpreting the byte returned from the queue manager and turning it into a character representing the value for the field. This caused an issue when the WebSphere MQ V7.0 and V7.1 classes for Java were used to get a message from a WebSphere MQ V7.0 or V7.1 queue manager that had been configured to use an EBCDIC Coded Character Set Identifier. In this situation, the byte that the queue manager returned to the classes for Java could only be mapped to a valid character if it was interpreted using an EBCDIC Coded Character Set Identifier. As the WebSphere MQ classes for Java always used Coded Character Set Identifier 1208 to interpret the byte, it meant that the values of the GroupStatus, Segmentation and SegmentStatus fields returned to the application in the GetMessageOptions structure could contain invalid values.
Problem conclusion
The WebSphere MQ V7.0 and V7.1 classes for Java have been updated to correctly interpret the bytes representing the GroupStatus, Segmentation and SegmentStatus fields in the GetMessageOptions structure when an application gets a message from a queue manager that has been configured to use an EBCDIC Coded Character Set Identifier. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: v7.0 Platform Fix Pack 7.0.1.8 -------- -------------------- Windows U200335 AIX U845856 HP-UX (PA-RISC) U847965 HP-UX (Itanium) U847970 Solaris (SPARC) U847966 Solaris (x86-64) U847972 iSeries 7.0.1.8 Linux (x86) U847967 Linux (x86-64) U847971 Linux (zSeries) U847968 Linux (Power) U847969 zOS 7.0.1.8 v7.1 Platform Fix Pack 7.1.0.1 -------- -------------------- Windows 7.1.0.1 AIX 7.1.0.1 HP-UX (PA-RISC) 7.1.0.1 HP-UX (Itanium) 7.1.0.1 Solaris (SPARC) 7.1.0.1 Solaris (x86-64) 7.1.0.1 iSeries 7.1.0.1 Linux (x86) 7.1.0.1 Linux (x86-64) 7.1.0.1 Linux (zSeries) 7.1.0.1 Linux (Power) 7.1.0.1 zOS 7.1.0.1 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
IC79514
Reported component name
WMQ WINDOWS V7
Reported component ID
5724H7220
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-10-28
Closed date
2011-11-29
Last modified date
2012-01-16
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 WINDOWS V7
Fixed component ID
5724H7220
Applicable component levels
R701 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023