IBM Support

IT30531: RESTREQUEST NODE DOES NOT PRESERVE THE PARSER TYPES FOR ERROR RESPONSES

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

  • If a RESTRequest node receives an error response the resulting
    message tree will not be owned by the correct parser. This can
    be seen using a Trace node, for example:
    
    (['MQROOT' : 0x6180000f3080]
     ...
     (0x01000000:Name):JSON = (
      (0x01000000:Name):Data = (
       (0x03000000:NameValue):V = 'F' (CHARACTER)
       (0x03000000:NameValue):R = 'A' (CHARACTER)
       (0x03000000:NameValue):M = 'I' (CHARACTER)
       (0x03000000:NameValue):F = 'L' (CHARACTER)
      )
     )
    )
    
    Note that the JSON tree is correct but it is not owned by a JSON
    parser and so will not serialize correctly and may behave in
    unexpected ways. The message tree should instead show:
    
    ( ['WSRoot' : 0x6180000f2880]
     ...
     (0x01000000:Object):JSON = ( ['json' : 0x6180000f3480]
      (0x01000000:Object):Data = (
       (0x03000000:NameValue):V = 'F' (CHARACTER)
       (0x03000000:NameValue):R = 'A' (CHARACTER)
       (0x03000000:NameValue):M = 'I' (CHARACTER)
       (0x03000000:NameValue):F = 'L' (CHARACTER)
      )
     )
    )
    
    which clearly indicates that the JSON folder is owned by a JSON
    parser.
    
    Note that if the "Error body location" property is set to place
    the response underneath an existing body parser then the new
    message tree elements will be owned by the parent body parser
    rather than by a new parser. The error response message tree
    will still be parsed using the correct parser but the elements
    will not be owned by that parser.
    

Local fix

  • NA
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of the RestRequest node in IBM Integration Bus v10 and
    IBM App Connect Enterprise v11.	
    
    
    Platforms affected:
    MultiPlatform, z/OS
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    If a RESTRequest node receives an error response then the
    resulting message tree will not be owned by the correct parser.
    This can be seen using a Trace node, for example:
    
    (['MQROOT' : 0x6180000f3080]
    ...
    (0x01000000:Name):JSON = (
      (0x01000000:Name):Data = (
       (0x03000000:NameValue):V = 'F' (CHARACTER)
       (0x03000000:NameValue):R = 'A' (CHARACTER)
       (0x03000000:NameValue):M = 'I' (CHARACTER)
       (0x03000000:NameValue):F = 'L' (CHARACTER)
      )
    )
    )
    
    Note that the JSON tree is correct but it is not owned by a JSON
    parser and so will not serialize correctly and may behave in
    unexpected ways. The message tree should instead show:
    
    ( ['WSRoot' : 0x6180000f2880]
    ...
    (0x01000000:Object):JSON = ( ['json' : 0x6180000f3480]
      (0x01000000:Object):Data = (
       (0x03000000:NameValue):V = 'F' (CHARACTER)
       (0x03000000:NameValue):R = 'A' (CHARACTER)
       (0x03000000:NameValue):M = 'I' (CHARACTER)
       (0x03000000:NameValue):F = 'L' (CHARACTER)
      )
    )
    )
    
    which clearly indicates that the JSON folder is owned by a JSON
    parser.
    
    Note that if the "Error body location" property is set to place
    the response underneath an existing body parser then the new
    message tree elements will be owned by the parent body parser
    rather than by a new parser. The error response message tree
    will still be parsed using the correct parser but the elements
    will not be owned by that parser.
    

Problem conclusion

  • The product now correctly assigns a parser to the message tree
    when processing error responses.
    
    Note that if the "Error body location" property is set to place
    the response underneath an existing body parser then the new
    message tree elements will be owned by the parent body parser
    rather than by a new parser. The error response message tree
    will still be parsed using the correct parser but the elements
    will not be owned by that parser.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v10.0      10.0.0.19
    v11.0      11.0.0.8
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT30531

  • Reported component name

    INTEGRATION BUS

  • Reported component ID

    5724J0540

  • Reported release

    A00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-10-08

  • Closed date

    2020-02-19

  • Last modified date

    2020-02-19

  • 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

    INTEGRATION BUS

  • Fixed component ID

    5724J0540

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 March 2020