AEM 6.2 SP1 CFP9 Formulare-Add-on unterbricht die Verwendung des Granite Apache POI-Bundles.

Problem

Beim Upgrade auf AEM 6.2 SP1 CFP9 schlägt das Granite Apache POI nach der Installation des Formulare-Add-ons fehl.

Genauer gesagt, die Methoden aus der Klasse SXSSFWorkbook können mit ähnlichen Ausnahmen wie den folgenden fehlschlagen:

Ausnahme : org.apache.xmlbeans.impl.schema.SchemaTypeImpl kann nicht übertragen werden auf org.apache.xmlbeans.impl.values.TypeStoreUserFactory java.lang.ClassCastException: org.apache.xmlbeans.impl.schema.SchemaTypeImpl kann nicht auf org.apache.xmlbeans.impl übertragen werden.values.TypeStoreUserFactory über org.apache.xmlbeans.impl.store.Xobj.setStableType(Xobj.java:1402) unter org.apache.xmlbeans.impl.store.cur.setType(Cur.java:2500) unter org.apache.xmlbeans.impl.store.cur.setType(Cur.java:2485) unter org.apache.xmlbeans.impl.store.Locale.newInstance(Locale.java:636) unter org.apache.xmlbeans.impl.store.Locale.newInstance(Locale.java:612) unter org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.newInstance(SchemaTypeLoaderBase.java:198) unter org.apache.poi.POIXMLTypeLoader.newInstance(POIXMLTypeLoader.java:112) unter org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook$Factory.newInstance(Unknown Source) unter org.apache.poi.xssf.usermodel.XSSFWorkbook.onWorkbookCreate(XSSFWorkbook.java:446) unter org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:244) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:235) at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:240) at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:210) at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:185) at org.apache.poi.xssf.streaming.SXSSFWorkbook.<init>(SXSSFWorkbook.java:271) at testpoi.servlets.TestPOIServlet.doGet(TestPOIServlet.java:28)

Der obige Stacktrace wird z. B. bei der Ausführung der folgenden Typenumwandlung geworfen:

SXSSFWorkbook w = new SXSSFWorkbook(1000);

Umgebung

AEM 6.x mit installiertem Forms-Paket

-> AEM 6.2 SP1 mit CFP9 zwischen CFP15 installiert.

-> AEM 6.3

-> AEM 6.4

Ursache

Das Problem tritt auf, weil die Apache POI-Bibliothek (com.adobe.granite.poi) einige Klassen importiert „org.apache.xmlbeans.impl.*“ aus einem von Forms hinzugefügten Bundle (Apache ServiceMix ::: Bundles :: xmlbeans (org.apache.servicemix.bundles.xmlbeans) und einige Klassen werden vom POI-Bundle selbst verwendet.

Beide Pakete enthalten verschiedene Versionen von „org.apache.xmlbeans.impl.*“-Klassen: Forms-Pakete Version 2.4.0 und granite.poi-Pakete Version 2.0.6 derselben.

Verschiedene Versionen der ausgewählten Klasse führen zur Typumwandlungsausnahme.

Lösung

Die temporäre Lösung besteht darin, die "Apache ServiceMix :: Bundles :: xmlbeansorg.apache.servicemix.bundles.xmlbeans Version 2.4.0.5" zu deinstallieren.

Dieses Bundle wird im J2EE-Connector verwendet und kann daher sicher entfernt werden, wenn Sie eine OSGi-Instanz von AEM Forms verwenden.

 .

Wenn Sie eine J2EE-Instanz von AEM Forms verwenden:

In AEM 6.2 wird das Problem ab CFP16 behandelt und es wird auch in der nächsten Hauptversion von AEM: 6.5 berücksichtigt.

Für eine Fehlerbehebung in den Versionen 6.3 und 6.4 wenden Sie sich bitte an den technischen Support von Adobe und fordern Sie eine Lösung für die Fehlerreferenz CQ-4244778 an.

Adobe-Logo

Bei Ihrem Konto anmelden