Il salvataggio del frammento di documento non riesce con l’errore relativo al limite dell’operatore XPath in AEM Forms 6.5
In Adobe Experience Manager Forms 6.5, il salvataggio di un frammento di documento ha esito negativo quando l’espressione XPath generata supera il limite di operatori predefinito di JVM. Per risolvere il problema, risolvere il limite dell’operatore XPath che blocca l’operazione di salvataggio del frammento di documento.
Descrizione description
Ambiente
Adobe Experience Manager (AEM) Forms 6.5 (tutte le piattaforme)
Sintomi
-
Durante la creazione e il salvataggio di un frammento di documento in AEM Forms, nell’interfaccia utente viene visualizzato il seguente errore:
Creazione del testo non riuscita
[oggetto] -
Il registro del server contiene il seguente errore:
javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: JAXP0801002: the compiler encountered an XPath expression containing '101' operators that exceeds the '100' limit set by 'FEATURE_SECURE_PROCESSING'. -
L’errore si verifica quando l’espressione XPath generata per il frammento di documento supera il limite dell’operatore predefinito di JVM.
Causa
JVM applica un limite predefinito di 100 operatori nelle espressioni XPath per motivi di sicurezza. Il processo di creazione del frammento di documento genera un’espressione con 101 operatori, che supera questo limite e causa l’errore.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
-
Arresta il server AEM Forms/JBoss.
-
Esegui il backup della configurazione di avvio JBoss corrente.
-
Aggiungi le seguenti opzioni JVM alla configurazione di avvio:
-Djdk.xml.xpathExprGrpLimit=100-Djdk.xml.xpathExprOpLimit=2000
Per la configurazione batch di Windows, aggiungere le opzioni al file appropriato, ad esempio
domain.conf.batper la modalità dominio ostandalone.conf.batper la modalità autonoma:code language-none set "JAVA_OPTS=%JAVA_OPTS% -Djdk.xml.xpathExprGrpLimit=100 -Djdk.xml.xpathExprOpLimit=2000"Se
JAVA_OPTSè definito esternamente, assicurarsi che questi parametri vengano aggiunti al valore effettivo utilizzato dal servizio o dal comando di avvio. -
Riavvia il server AEM Forms/JBoss.
-
Verificare dall’output di avvio che
jdk.xml.xpathExprOpLimit=2000sia applicato. -
Tenta di creare e salvare nuovamente il frammento di documento per confermare la risoluzione del problema.