IBM Support

IC79514: WEBSPHERE MQ CLASSES FOR JAVA RETURN INVALID VALUES FOR THE GROUPSTATUS FIELD IN THE GETMESSAGEOPTIONS STRUCTURE

Subscribe

You can track all active APARs for this component.

 

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":"BU048","label":"IBM Software"},"Product":{"code":"SSCPQ63","label":"APAR \/ Maintenance"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
16 January 2012