IBM Support

IT44474: JAVA UPDATE IN ACE MAY CAUSE XSL STYLESHEET PROCESSING TO THROW EXCEPTION IF DEFAULT LIMITS ARE BREACHED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as documentation error.

Error description

  • Starting from IBM Java version "1.8.0_361," there are new XML
    Processing Limits introduced. Therefore, any App Connect
    Enterprise version 11 or 12 FixPack that includes IBM Java
    version "1.8.0_361" or higher may result in XSL Stylesheet
    Processing exceptions if the default specified limits are
    exceeded
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All Users of IBM App Connect Enterprise v11 and v12 who use XSL
    Stylesheets
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    Starting from IBM Java version 1.8.0_361, there are 3 new XML
    Processing Limits introduced. Therefore, any App Connect
    Enterprise version 11 or 12 FixPack that includes IBM Java
    version 1.8.0_361" or higher may result in XSL Stylesheet
    Processing exceptions if the default specified limits are
    exceeded. For ACE v11, the affected versions are 11.0.0.22 and
    above and for ACE v12, they are 12.0.9.0 and above. These limits
    are
    ```
    jdk.xml.xpathExprGrpLimit=<limit>
    jdk.xml.xpathExprOpLimit=<limit>
    jdk.xml.xpathTotalOpLimit=<limit>
    ```
    
    Because of this, the below Exception can occur while using XSL
    Transform node
    ```
    Message: javax.xml.transform.TransformerException: The compiler
    encountered an XPath expression containing a total of Number
    operators that exceeds the 10000 limit set.
    ```
    The above introduced limits can be modified to set appropriate
    values based on the Processing requirements. However, it should
    be noted that the above limits were added as part of
    CVE-2022-21426. Therefore, it is not recommended to change these
    unless absolutely required
    

Problem conclusion

  • The below Documentation Pages will be updated to reflect these
    changes
    
    ACE11
    
    1.
    https://www.ibm.com/docs/en/app-connect/11.0.0?topic=dp-resolvin
    g-problems-when-deploying-message-flows-message-sets
    
    Current:
    
    Resolving problems that occur after deployment of message flows
    
    &#09;-Your XSLTransform node does not work after deployment
    &#09;-You receive exception ('MQCC_FAILED') reason '2042'
    ('MQRC_OBJECT_IN_USE')
    
    Change to:
    
    Resolving problems that occur after deployment of message flows
    
    &#09;-Your XSLTransform node does not work after deployment
    &#09;-You receive exception ('MQCC_FAILED') reason '2042'
    ('MQRC_OBJECT_IN_USE')
    &#09;-XSLTransform node throws TransformerException for
    exceeding default JVM limits
    
    
    2.
    https://www.ibm.com/docs/en/app-connect/11.0.0?topic=rpwdmfms-re
    solving-problems-that-occur-after-deployment-message-flows#au165
    44_
    
    Add the below after `Your XSLTransform node does not work after
    deployment` section:
    
    XSLTransform node throws TransformerException for exceeding
    default JVM limits
    Procedure
    Scenario: The following Error message is displayed while
    processing XSL Stylesheets
    Message: javax.xml.transform.TransformerException: The compiler
    encountered an XPath expression containing a total of Number
    operators that exceeds the 10000 limit set.
    Explanation:  Because of Java Upgrade with the installation of
    ACE 11.0.0.22, 3 New XML Processing Limits have been added. The
    above Error is encountered when the XPath expression contains
    large number of XPath operators in a XSL Stylesheet than the
    default limit permits. For more information about JVM system
    properties and overriding these XPath processing limits, see New
    XML Processing Limits
    (https://www.java.com/en/download/help/release_changes.html).
    Solution:  The issue can be resolved by setting
    jvmSystemProperty for an Execution Group to provide limits that
    are higher than the defaults set by the Java virtual machine
    (JVM):
    ```
    jdk.xml.xpathExprGrpLimit=<limit>
    jdk.xml.xpathExprOpLimit=<limit>
    jdk.xml.xpathTotalOpLimit=<limit>
    ```
    Example - mqsichangeproperties <NODE> -e <EG> -o
    ComIbmJVMManager -n jvmSystemProperty
    -v-Djdk.xml.xpathExprGrpLimit=<limit>
    -Djdk.xml.xpathExprOpLimit=<limit>
    -Djdk.xml.xpathTotalOpLimit=<limit>"
    Please Note that the above limits set a processing restriction.
    As such, these should be changed carefully if at all based on
    the Exception thrown and the limits exceeded (The above command
    shows the procedure for changing all these). Also, the JVM set
    Default limits should not be changed unless absolutely necessary
    
    
    
    
    ACE12
    
    1.
    https://www.ibm.com/docs/en/app-connect/12.0?topic=dp-resolving-
    problems-when-deploying-message-flows-message-sets
    
    Current:
    
    Resolving problems that occur after deployment of message flows
    
    &#09;-Your XSLTransform node does not work after deployment
    &#09;-You receive exception ('MQCC_FAILED') reason '2042'
    ('MQRC_OBJECT_IN_USE')
    
    
    Change to:
    
    Resolving problems that occur after deployment of message flows
    
    &#09;-Your XSLTransform node does not work after deployment
    &#09;-You receive exception ('MQCC_FAILED') reason '2042'
    ('MQRC_OBJECT_IN_USE')
    &#09;-XSLTransform node throws TransformerException for
    exceeding default JVM limits
    
    
    2.
    https://www.ibm.com/docs/en/app-connect/12.0?topic=rpwdmfms-reso
    lving-problems-that-occur-after-deployment-message-flows#au16544
    _
    
    Add the below after `Your XSLTransform node does not work after
    deployment` section:
    
    XSLTransform node throws TransformerException for exceeding
    default JVM limits
    Procedure
    Scenario: The following Error message is displayed while
    processing XSL Stylesheets
    Message: javax.xml.transform.TransformerException: The compiler
    encountered an XPath expression containing a total of Number
    operators that exceeds the 10000 limit set.
    Explanation:  Because of Java Upgrade with the installation of
    ACE 12.0.9.0, 3 New XML Processing Limits have been added. The
    above Error is encountered when the XPath expression contains
    large number of XPath operators in a XSL Stylesheet than the
    default limit permits. For more information about JVM system
    properties and overriding these XPath processing limits, see New
    XML Processing Limits
    (https://www.java.com/en/download/help/release_changes.html).
    Solution:  The issue can be resolved by setting
    jvmSystemProperty for an Execution Group to provide limits that
    are higher than the defaults set by the Java virtual machine
    (JVM):
    ```
    jdk.xml.xpathExprGrpLimit=<limit>
    jdk.xml.xpathExprOpLimit=<limit>
    jdk.xml.xpathTotalOpLimit=<limit>
    ```
    Example - mqsichangeproperties <NODE> -e <EG> -o
    ComIbmJVMManager -n jvmSystemProperty
    -v-Djdk.xml.xpathExprGrpLimit=<limit>
    -Djdk.xml.xpathExprOpLimit=<limit>
    -Djdk.xml.xpathTotalOpLimit=<limit>"
    Please Note that the above limits set a processing restriction.
    As such, these should be changed carefully if at all based on
    the Exception thrown and the limits exceeded (The above command
    shows the procedure for changing all these). Also, the JVM set
    Default limits should not be changed unless absolutely necessary
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT44474

  • Reported component name

    APP CONNECT ENT

  • Reported component ID

    5724J0550

  • Reported release

    B00

  • Status

    CLOSED DOC

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-09-05

  • Closed date

    2024-01-30

  • Last modified date

    2024-01-30

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDR5J","label":"IBM App Connect Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B00","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
30 January 2024