Il modello per frammenti di contenuto non viene salvato o caricato a causa dei limiti di richiesta Sling
I modelli per frammenti di contenuto non vengono salvati, non visualizzano tutti i campi o ripristinano le modifiche quando i limiti di elaborazione delle richieste Sling sono impostati su un valore troppo basso. In genere sono coinvolte due impostazioni: sling.max.calls, che controlla il numero di chiamate di back-end effettuate dall’editor, e request.max.file.count, che controlla le richieste di salvataggio in più parti. Gli aggiornamenti reimpostano questi limiti o le configurazioni OSGi personalizzate li sovrascrivono, innescando errori come TooManyCallsException e FileCountLimitExceededException. Per risolvere questo problema, aumenta il limite Sling interessato, rimuovi le sostituzioni di configurazione in conflitto e conferma che l’editor venga caricato e salvato correttamente.
Descrizione description
Ambiente
- Adobe Experience Manager as a Cloud Service
- AEM Managed Services
- AEM 6.5 On-Prem
Problema/Sintomi
- I registri errori mostrano
TooManyCallsException. - I registri errori mostrano
FileCountLimitExceededException: attachment. - I campi del modello per frammenti di contenuto non vengono salvati.
- I nuovi campi scompaiono dopo la riapertura del modello.
- Se il modello contiene molti campi, l’editor non visualizza tutte le schede o i campi.
- Il pulsante Aggiungi non è presente nelle finestre di dialogo con elenchi multipli nidificati.
Causa
AEM utilizza i limiti di elaborazione delle richieste Sling per proteggersi da un’esecuzione eccessiva delle richieste e da invii di moduli multipart di dimensioni eccessive. Se sling.max.calls è troppo basso, l’editor del modello per frammenti di contenuto supera il numero consentito di chiamate di back-end durante il caricamento o il salvataggio di modelli complessi, causando TooManyCallsException. Se request.max.file.count è troppo basso, le richieste di salvataggio multipart non riusciranno con FileCountLimitExceededException, anche quando non viene caricato alcun file. Gli aggiornamenti o le configurazioni OSGi personalizzate reimpostano o ignorano questi valori e causano la restituzione del problema.
Risoluzione resolution
Per risolvere gli errori di salvataggio o caricamento del modello per frammenti di contenuto causati dai limiti di richiesta Sling, effettua le seguenti operazioni:
-
Identificare l’errore che si verifica esaminando
error.log. -
Se il registro mostra
TooManyCallsException, aumentasling.max.callsin Apache Sling Main Servlet.- Per AEM 6.5 On-Prem o AEM Managed Services, aprire
/system/console/configMgr, individuareApache Sling Main Servlete aumentareNumber of Calls per Requestin modo incrementale a un valore più alto, ad esempio2000o3000. - Per AEM as a Cloud Service, aggiornare
org.apache.sling.engine.impl.SlingMainServlet.cfg.jsonnel progettoui.confige impostaresling.max.callssu un valore superiore, ad esempio2000o3000.
- Per AEM 6.5 On-Prem o AEM Managed Services, aprire
-
Se il registro mostra
FileCountLimitExceededException: attachment, aumentarequest.max.file.countnella gestione dei parametri delle richieste Apache Sling.- Per AEM 6.5 On-Prem o AEM Managed Services, aprire
/system/console/configMgr, individuareApache Sling Request Parameter Handlinge impostareMaximum File Countsu10000. - Per AEM as a Cloud Service, aggiorna
org.apache.sling.engine.parameters.cfg.jsonnel progettoui.confige impostarequest.max.file.countsu10000.
- Per AEM 6.5 On-Prem o AEM Managed Services, aprire
-
Verifica la presenza di configurazioni OSGi personalizzate in conflitto che ignorano questi valori e li rimuovono o correggono.
-
Riavvia AEM se necessario per il tipo di distribuzione in modo da applicare i valori aggiornati.
-
Verifica nuovamente il modello aggiungendo campi, salvando e riaprendo il modello.
-
Verificare che tutti i campi persistano e che in
error.lognon vengano visualizzati nuovi errori.