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:

  1. Arresta il server AEM Forms/JBoss.

  2. Esegui il backup della configurazione di avvio JBoss corrente.

  3. Aggiungi le seguenti opzioni JVM alla configurazione di avvio:

    1. -Djdk.xml.xpathExprGrpLimit=100
    2. -Djdk.xml.xpathExprOpLimit=2000

    Per la configurazione batch di Windows, aggiungere le opzioni al file appropriato, ad esempio domain.conf.bat per la modalità dominio o standalone.conf.bat per 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.

  4. Riavvia il server AEM Forms/JBoss.

  5. Verificare dall’output di avvio che jdk.xml.xpathExprOpLimit=2000 sia applicato.

  6. Tenta di creare e salvare nuovamente il frammento di documento per confermare la risoluzione del problema.

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