IBM Support

IT32965: MQ HEADER NODE IN ACE 11 OVERWRITES MESSAGE BODY IF NO PROPERTIES FOLDER IS PRESENT

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When the MQHeader node in ACE v11 is used to add an MQMD or
    MQDLH header to a message tree that does not have a Properties
    folder, then a blank MQMD or MQDLH header will be added as the
    first element in the message and the first element in the input
    message will be overwritten by a default MQMD or MQDLH in the
    output message.
    
    For example the following input message tree
    
    ( ['MQROOT' : 0x618000001080]
    (0x01000000:Object):JSON = ( ['json' : 0x61800000b880]
    (0x01000000:Object):Data = (
    (0x03000000:NameValue):Dummy = 'DATA' (CHARACTER)
    )
    )
    )
    
    will be incorrectly transformed to
    
    ( ['MQROOT' : 0x618000001080]
    (0x01000000:Name ):MQMD = ( ['MQHMD' : 0x619000700880]
    (0x03000000:NameValue):Format = '' (CHARACTER)
    )
    
    (0x01000000:Object):MQMD = ( ['json' : 0x61800000b880]
    (0x03000000:NameValue):SourceQueue = '' (CHARACTER)
    (0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
    (0x03000000:NameValue):Encoding = 546 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId = 0 (INTEGER)
    (0x03000000:NameValue):Format = ' ' (CHARACTER)
    (0x03000000:NameValue):Version = 1 (INTEGER)
    (0x03000000:NameValue):Report = 0 (INTEGER)
    (0x03000000:NameValue):MsgType = 8 (INTEGER)
    (0x03000000:NameValue):Expiry = -1 (INTEGER)
    (0x03000000:NameValue):Feedback = 0 (INTEGER)
    (0x03000000:NameValue):Priority = -1 (INTEGER)
    (0x03000000:NameValue):Persistence = 2 (INTEGER)
    (0x03000000:NameValue):MsgId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):CorrelId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):BackoutCount = 0 (INTEGER)
    (0x03000000:NameValue):ReplyToQ = '' (CHARACTER)
    (0x03000000:NameValue):ReplyToQMgr = '' (CHARACTER)
    (0x03000000:NameValue):UserIdentifier = '' (CHARACTER)
    (0x03000000:NameValue):AccountingToken =
    X'00000000000000000000000000000000000000000000000000000000000000
    00' (BLOB)
    (0x03000000:NameValue):ApplIdentityData = '' (CHARACTER)
    (0x03000000:NameValue):PutApplType = 0 (INTEGER)
    (0x03000000:NameValue):PutApplName = '' (CHARACTER)
    (0x03000000:NameValue):PutDate = '' (CHARACTER)
    (0x03000000:NameValue):PutTime = '' (CHARACTER)
    (0x03000000:NameValue):ApplOriginData = '' (CHARACTER)
    (0x03000000:NameValue):GroupId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):MsgSeqNumber = 1 (INTEGER)
    (0x03000000:NameValue):Offset = 0 (INTEGER)
    (0x03000000:NameValue):MsgFlags = 0 (INTEGER)
    (0x03000000:NameValue):OriginalLength = -1 (INTEGER)
    )
    )
    

Local fix

  • Ensure that messages going into a MQHeader node have a
    Properties folder.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of the MQHeader node in IBM App Connect Enterprise
    v11.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When the MQHeader node in ACE v11 is used to add an MQMD or
    MQDLH header to a message tree that does not have a Properties
    folder, then a blank MQMD or MQDLH header will be added as the
    first element in the message and the first element in the input
    message will be overwritten by a default MQMD or MQDLH in the
    output message.
    
    For example the following input message tree
    
    ( ['MQROOT' : 0x618000001080]
        (0x01000000:Object):JSON = ( ['json' : 0x61800000b880]
            (0x01000000:Object):Data = (
                (0x03000000:NameValue):Dummy = 'DATA' (CHARACTER)
            )
        )
    )
    
    will be incorrectly transformed to
    
    ( ['MQROOT' : 0x618000001080]
        (0x01000000:Name ):MQMD = ( ['MQHMD' : 0x619000700880]
            (0x03000000:NameValue):Format = '' (CHARACTER)
        )
    
        (0x01000000:Object):MQMD = ( ['json' : 0x61800000b880]
            (0x03000000:NameValue):SourceQueue = '' (CHARACTER)
            (0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
            (0x03000000:NameValue):Encoding = 546 (INTEGER)
            (0x03000000:NameValue):CodedCharSetId = 0 (INTEGER)
            (0x03000000:NameValue):Format = ' ' (CHARACTER)
            (0x03000000:NameValue):Version = 1 (INTEGER)
            (0x03000000:NameValue):Report = 0 (INTEGER)
            (0x03000000:NameValue):MsgType = 8 (INTEGER)
            (0x03000000:NameValue):Expiry = -1 (INTEGER)
            (0x03000000:NameValue):Feedback = 0 (INTEGER)
            (0x03000000:NameValue):Priority = -1 (INTEGER)
            (0x03000000:NameValue):Persistence = 2 (INTEGER)
            (0x03000000:NameValue):MsgId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
            (0x03000000:NameValue):CorrelId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
            (0x03000000:NameValue):BackoutCount = 0 (INTEGER)
            (0x03000000:NameValue):ReplyToQ = '' (CHARACTER)
            (0x03000000:NameValue):ReplyToQMgr = '' (CHARACTER)
            (0x03000000:NameValue):UserIdentifier = '' (CHARACTER)
            (0x03000000:NameValue):AccountingToken =
    X'00000000000000000000000000000000000000000000000000000000000000
    00' (BLOB)
            (0x03000000:NameValue):ApplIdentityData = '' (CHARACTER)
            (0x03000000:NameValue):PutApplType = 0 (INTEGER)
            (0x03000000:NameValue):PutApplName = '' (CHARACTER)
            (0x03000000:NameValue):PutDate = '' (CHARACTER)
            (0x03000000:NameValue):PutTime = '' (CHARACTER)
            (0x03000000:NameValue):ApplOriginData = '' (CHARACTER)
            (0x03000000:NameValue):GroupId =
    X'000000000000000000000000000000000000000000000000' (BLOB)
            (0x03000000:NameValue):MsgSeqNumber = 1 (INTEGER)
            (0x03000000:NameValue):Offset = 0 (INTEGER)
            (0x03000000:NameValue):MsgFlags = 0 (INTEGER)
            (0x03000000:NameValue):OriginalLength = -1 (INTEGER)
        )
    )
    
    Note that the second MQMD element is actually an (invalid) JSON
    tree.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IT32965

  • Reported component name

    APP CONNECT ENT

  • Reported component ID

    5724J0550

  • Reported release

    B00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-19

  • Closed date

    2020-08-25

  • Last modified date

    2020-08-25

  • 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

    APP CONNECT ENT

  • Fixed component ID

    5724J0550

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSDR5J","label":"IBM App Connect Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B00","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
26 August 2020