Adobe Experience Manager Forms JEEでのドキュメントマッピング中に無効なCoercionExceptionが発生する
Adobe Experience Manager Forms JEEでは、ワークベンチプロセスがorg.w3c.dom.Documentを想定する変数にcom.adobe.idp.Document値を割り当てようとすると、InvalidCoercionExceptionで失敗する可能性があります。 これは、プロセスマッピングまたはカスタムコードが互換性のないドキュメントタイプを使用し、Workbenchがサポートされていない暗黙的な変換を試みる場合に発生します。 この問題を修正するには、プロセス変数、サービス入力、出力、およびカスタムコードで使用されるドキュメントタイプを調整します。
説明 description
環境
Adobe Experience Manager(AEM)Forms JEE 6.5.0
問題/症状
-
一部のレコードでWorkbench プロセスが失敗し、次のエラーが発生します。
com.adobe.idp.dsc.util.InvalidCoercionException: Cannot coerce object: of type: com.adobe.idp.Document to type: interface org.w3c.dom.Document -
プロセス出力変数(
Out1.xmlなど)はcom.adobe.idp.Documentとして指定されます。 -
受け取り側のWorkbench変数またはダウンストリームサービスには
org.w3c.dom.Documentが必要です。 -
Workbenchは
SetValueService中に暗黙的な型の変換を試みます。 この変換はサポートされていないため、プロセスは例外をスローします。
原因
Workbench プロセスマッピングまたはカスタムコードにデータタイプの不一致が存在します。 W3C XML ドキュメント (org.w3c.dom.Document)を想定する変数にAdobe ドキュメント タイプ (com.adobe.idp.Document)が割り当てられます。 Workbenchでは、これらのタイプ間の暗黙的な変換はサポートされていないため、例外が発生します。
解決策 resolution
問題を解決するには、次の手順に従います。
-
Workbench プロセスを確認して、
com.adobe.idp.Documentが割り当てられるか、org.w3c.dom.Documentを期待する変数またはサービスにマッピングされる場所を特定します。 -
ソース変数とターゲット変数の両方が同じドキュメントタイプ(
com.adobe.idp.Documentまたはorg.w3c.dom.Document)を使用するように、データタイプを調整します。 -
異なるタイプが必要な場合:
- ドキュメントストリームをXMLとして読み取り、解析して、
com.adobe.idp.Documentをorg.w3c.dom.Documentに変換します。 - 必要に応じて、下流のAdobe Forms操作のために
org.w3c.dom.Documentをcom.adobe.idp.Documentに戻します。 - これら2つのタイプ間の直接キャストまたは暗黙的な割り当てを削除します。
- ドキュメントストリームをXMLとして読み取り、解析して、
-
更新したWorkbench アプリケーションまたはプロセスを再デプロイします。
-
代表的な入力文書でプロセスをテストします。
-
InvalidCoercionExceptionが発生しなくなったことを確認します。