Issue
Location paths of Java libraries used for reading and writing Microsoft Office documents become invalid after updating to Pega Infinity™ '23 and later releases when running on a WebLogic application server.
This causes NoClassDefFound errors when running pxParseExcelFile or pxGenerateExcelFile activities.
Symptoms and impact
The Pega update breaks existing Excel export functionality.
Running either the pxParseExcelFile or pxGenerateExcelFile activity will fail and cause the following exception in the logs:
java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.poi.schemas.ooxml.system.ooxml.TypeSystemHolder [in thread "[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'"]
This issue impacts Platform instances updated on WebLogic servers
Steps to reproduce
- Generate an excel file using pxGenerateExcel.
Root cause
This exception is caused by a dependency resolution issue on the WebLogic server.
Apache POI uses xmlbeans to handle Microsoft Office formats. The xmlbeans jar resides in both Application Server jars as well as in PEGA-provided OOTB jars.
WebLogic’s class loader hierarchy loads its own libraries before loading the required class of the pega application, causing version mismatches and NoClassDefFound errors.
The Pega documentation has been updated from Pega ‘25 onwards to reflect this known issue with WebLogic.
Solution
Remove the com.bea.core.xml.xmlbeans.jar file from the WebLogic application server:
The path from which to remove the file is:
$MW_HOME/wlserver/modules/com.bea.core.xml.xmlbeans.jar
References
Apache POI 5 and XMLBeans Classpath issues