Eccezione ClassCast durante l'elaborazione dei PDF

Problema

Mentre si utilizzano componenti come Assembler o Reader Extension in AEM Forms, l'elaborazione di alcuni PDF fallisce con la seguente eccezione nei log del server, mentre gli stessi PDF funzionano bene fino a LiveCycle ES4.

java.lang.ClassCastException: com.adobe.xfa.TextNode cannot be cast to com.adobe.xfa.Element
	at com.adobe.xfa.Delta.restore(Delta.java:241)
	at com.adobe.xfa.form.FormField.getDeltas(FormField.java:398)
	at com.adobe.xfa.Element.getDeltas(Element.java:2366)
	at com.adobe.xfa.form.FormSubform.getDeltas(FormSubform.java:91)
	at com.adobe.xfa.Element.getDeltas(Element.java:2366)
	at com.adobe.xfa.form.FormSubform.getDeltas(FormSubform.java:91)
	at com.adobe.xfa.Element.getDeltas(Element.java:2366)
	at com.adobe.xfa.form.FormSubform.getDeltas(FormSubform.java:91)
	at com.adobe.xfa.Element.getDeltas(Element.java:2366)
	at com.adobe.xfa.form.FormSubform.getDeltas(FormSubform.java:91)
	at com.adobe.xfa.form.FormModel.merge(FormModel.java:6021)
	at com.adobe.xfa.form.FormModel.merge(FormModel.java:5901)
	at com.adobe.xfa.form.FormModel.merge(FormModel.java:5863)
	at com.adobe.internal.pdftoolkit.services.xfa.form.DocumentContext.doMerge(DocumentContext.java:1049)
	at com.adobe.internal.pdftoolkit.services.xfa.form.DocumentContext.postLoad(DocumentContext.java:2290)
	at com.adobe.internal.pdftoolkit.services.xfa.form.XFAPlugin.loadXFA(XFAPlugin.java:110)
	at com.adobe.internal.pdftoolkit.services.xfa.form.XFAPlugin.processXFA(XFAPlugin.java:246)
	at com.adobe.internal.pdftoolkit.services.xfa.XFADOMService.createXFADocumentContext(XFADOMService.java:275)
	at com.adobe.internal.pdftoolkit.services.xfa.XFADOMService.getXFADOM(XFADOMService.java:131)
	at com.adobe.internal.pdftoolkit.services.xfa.XFADOMService.getXFADOM(XFADOMService.java:179)
	at com.adobe.internal.pdftoolkit.services.xfa.XFADOMService.getXFADOM(XFADOMService.java:218)

Ambiente

AEM Forms

Causa

Queste eccezioni sono presenti nelle versioni più recenti di AEM Forms, in cui sono state abilitate alcune nuove funzionalità che richiedono un'elaborazione. Le eccezioni si verificano in tutti gli scenari seguenti:

  • Si utilizzano PDF dinamici/statici generati da un XDP.
  • Nell'XDP, almeno un campo di testo non ha un valore predefinito nel tag <value>, cioè contiene un tag <value> o <exData> vuoti.
  • Durante l'elaborazione dei PDF, il tag <value> vuoto trovato al passaggio 2 viene sostituito con un valore rich text. 

Risoluzione

  1. Apri il tuo XDP in AEM Forms Designer.

  2. Passa alla vista sorgente XML e cerca un tag vuoto <value> o <exData> in una campo tag di testo.

  3. Se trovi un tag vuoto, torna alla Vista progetti e assegna uno spazio come valore predefinito nelle proprietà del campo di testo.

  4. Ripetere il passaggio 3 per ogni campo di testo identificato nel passaggio 2.

  5. Salva il file XDP.