InvalidCoercionException während der Dokumentzuordnung in Adobe Experience Manager Forms JEE

In Adobe Experience Manager Forms JEE kann ein Workbench-Prozess mit InvalidCoercionException fehlschlagen, wenn versucht wird, einer Variablen, die eine org.w3c.dom.Document erwartet, einen com.adobe.idp.Document zuzuweisen. Dies tritt auf, wenn Prozesszuordnungen oder benutzerdefinierter Code inkompatible Dokumenttypen verwenden und Workbench versucht, eine nicht unterstützte implizite Konvertierung durchzuführen. Um dieses Problem zu beheben, richten Sie die Dokumenttypen aus, die von Prozessvariablen, Service-Eingaben, Ausgaben und benutzerdefiniertem Code verwendet werden.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM) Forms JEE 6.5.0

Problem/Symptome

  • Ein Workbench-Prozess schlägt bei einigen Datensätzen mit dem folgenden Fehler fehl:

    com.adobe.idp.dsc.util.InvalidCoercionException: Cannot coerce object: of type: com.adobe.idp.Document to type: interface org.w3c.dom.Document

  • Die Prozessausgabevariable (z. B. Out1.xml) wird als com.adobe.idp.Document bereitgestellt.

  • Die empfangende Workbench-Variable oder der nachgelagerte Service erwartet org.w3c.dom.Document.

  • Workbench versucht während der SetValueService eine implizite Typkonvertierung. Da diese Konvertierung nicht unterstützt wird, löst der Prozess die Ausnahme aus.

Ursache

Im Workbench-Prozesszuordnung oder im benutzerdefinierten Code liegt eine Datentypabweichung vor. Ein Adobe-Dokumenttyp (com.adobe.idp.Document) wird einer Variablen zugewiesen, die ein W3C-XML-Dokument (org.w3c.dom.Document) erwartet. Workbench unterstützt keine implizite Konvertierung zwischen diesen Typen, was zu der Ausnahme führt.

Lösung resolution

Führen Sie zur Behebung des Problems folgende Schritte aus:

  1. Überprüfen Sie den Workbench-Prozess, um festzustellen, wo ein com.adobe.idp.Document einer Variablen oder einem Service zugewiesen oder zugeordnet ist, die bzw. der eine org.w3c.dom.Document erwartet.

  2. Die Datentypen so ausrichten, dass sowohl die Quell- als auch die Zielvariablen denselben Dokumenttyp verwenden, entweder com.adobe.idp.Document oder org.w3c.dom.Document.

  3. Falls verschiedene Typen erforderlich sind:

    • Konvertieren Sie com.adobe.idp.Document in org.w3c.dom.Document, indem Sie den Dokument-Stream als XML lesen und analysieren.
    • Falls erforderlich, konvertieren Sie org.w3c.dom.Document für nachgelagerte Adobe Forms-Vorgänge zurück in com.adobe.idp.Document.
    • Entfernen Sie alle direkten oder impliziten Zuweisungen zwischen diesen beiden Typen.
  4. Stellen Sie das aktualisierte Workbench-Programm oder den aktualisierten Prozess erneut bereit.

  5. Testen Sie den Prozess mit repräsentativen Eingabedokumenten.

  6. Stellen Sie sicher, dass der InvalidCoercionException nicht mehr auftritt.

recommendation-more-help
experience-cloud-kcs-help-kbarticles