IZ44532: NULLPOINTEREXCEPTION OCCURS WHEN WEBSPHERE MQ JMS APPLICATIONS RECEIVE MESSAGES CONTAINING EXTRA ATTRIBUTES IN THE RFH2 FOLDER

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • When using the WebSphere MQ Version 6 classes for Java Message
    Service (JMS), a NullPointerException occurs when a message is
    received. The exception contains a stack trace similar to one
    shown below:
    
    javax.jms.JMSException: MQJMS2002: failed to get message from
    MQ queue
    at com.ibm.mq.jms.services.ConfigEnvironment.
    newException(ConfigEnvironment.java:622)
    at com.ibm.mq.jms.MQMessageConsumer.
    getMessage(MQMessageConsumer.java:3827)
    at com.ibm.mq.jms.MQMessageConsumer.
    receiveInternal(MQMessageConsumer.java:2856)
    at com.ibm.mq.jms.MQMessageConsumer.
    receive(MQMessageConsumer.java:2648)
    
    As a result of the NullPointerException, the message that was
    being processed is returned to the queue it originally came
    from.
    

Local fix

  • From the trace file we notice the data that is parsed has the
    following
    information:
    
    <mcd><Set context="none" dt="string">M6LGIQ8002001</Set><Fmt
    context="none" dt="string">XML1</Fmt><Type context="none"
    dt="string">WorkDayTrucks_20070406</Type><Msd context="none"
    dt="string">mrm</Msd></mcd>
    
    All the tags have additional attributed apart from the tag name.
    Tag
    Type
    has context="none" dt="string", similarly other tags have
    different data
    too.
    
    Currently, as per the WMQ JMS implementation, we do not expect
    any
    additional attributes to be present with the tags in the mcd
    folder.
    Depending on each of the tags in the Mcd folder a new Message
    object is
    instantiated.
    Because additional attributes are present with the tags we tend
    to
    ignore
    those tags and a Message object is never initialized and
    effectively a
    NPE is returned back to the application.
    
    we should modify the JMS layer not to have such strict parsing
    of tags
    but to allow tags with additional attributes too. Hence, this
    would need
    code changes to allow parsing of headers with additional
    attributes.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the WebSphere MQ classes for JMS
    who have applications that receive messages sent from non-JMS
    applications that contain extra attributes in the Mcd folders
    of the RFH2 header.
    
    Platforms affected:
     All Distributed (iSeries, all Unix and Windows) +Java
    ****************************************************************
    PROBLEM SUMMARY:
    The code in the WebSphere MQ classes for JMS that parsed the
    Mcd folder in an RFH2 expected the tags of the sub-folder to
    be exact matches to only the folder names - that is, it
    expected the folders to be of the form:
    
    <Msd>value</Msd>
    <Type>value</Type>
    
    If additional data was added in the form of an attribute, such
    as:
    
    <Msd attribute="attValue">value</Msd>
    
    then the parsing failed, a NullPointerException was generated
    and the message was returned to the queue that it came from.
    

Problem conclusion

  • The parsing code that previously used .equals() to recognize
    the sub-folders has been changed to use .startsWith(), so that
    further data could be ignored but not cause a match failure.
    
    This brings the Mcd parsing code into line with the code that
    parses other folders in the RFH2.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v6.0
    Platform           Fix Pack 6.0.2.7
    --------           --------------------
    Windows            U200312
    AIX                U821719
    HP-UX (PA-RISC)    U821511
    HP-UX (Itanium)    U822328
    Solaris (SPARC)    U821514
    Solaris (x86-64)   U822359
    iSeries            tbc_p600_0_2_7
    Linux (x86)        U822325
    Linux (x86-64)     U822358
    Linux (zSeries)    U822329
    Linux (Power)      U822327
    Linux (s390x)      U822357
    
                       v7.0
    Platform           Fix Pack 7.0.1.0
    --------           --------------------
    Windows            U200306
    AIX                U823774
    HP-UX (PA-RISC)    U823665
    HP-UX (Itanium)    U823667
    Solaris (SPARC)    U823772
    Solaris (x86-64)   U824344
    iSeries            tbc_p700_0_1_0
    Linux (x86)        U823664
    Linux (x86-64)     U823773
    Linux (zSeries)    U823668
    Linux (Power)      U823666
    
    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

    IZ44532

  • Reported component name

    WMQ LIN X86 V6

  • Reported component ID

    5724H7204

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-02-23

  • Closed date

    2009-03-27

  • Last modified date

    2009-05-22

  • 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 LIN X86 V6

  • Fixed component ID

    5724H7204

Applicable component levels

  • R600 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

WebSphere MQ
APAR

Software version:

6.0

Reference #:

IZ44532

Modified date:

2009-05-22

Translate my page

Machine Translation

Content navigation