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:

  1. Identificare l’errore che si verifica esaminando error.log.

  2. Se il registro mostra TooManyCallsException, aumenta sling.max.calls in Apache Sling Main Servlet.

    • Per AEM 6.5 On-Prem o AEM Managed Services, aprire /system/console/configMgr, individuare Apache Sling Main Servlet e aumentare Number of Calls per Request in modo incrementale a un valore più alto, ad esempio 2000 o 3000.
    • Per AEM as a Cloud Service, aggiornare org.apache.sling.engine.impl.SlingMainServlet.cfg.json nel progetto ui.config e impostare sling.max.calls su un valore superiore, ad esempio 2000 o 3000.
  3. Se il registro mostra FileCountLimitExceededException: attachment, aumenta request.max.file.count nella gestione dei parametri delle richieste Apache Sling.

    • Per AEM 6.5 On-Prem o AEM Managed Services, aprire /system/console/configMgr, individuare Apache Sling Request Parameter Handling e impostare Maximum File Count su 10000.
    • Per AEM as a Cloud Service, aggiorna org.apache.sling.engine.parameters.cfg.json nel progetto ui.config e imposta request.max.file.count su 10000.
  4. Verifica la presenza di configurazioni OSGi personalizzate in conflitto che ignorano questi valori e li rimuovono o correggono.

  5. Riavvia AEM se necessario per il tipo di distribuzione in modo da applicare i valori aggiornati.

  6. Verifica nuovamente il modello aggiungendo campi, salvando e riaprendo il modello.

  7. Verificare che tutti i campi persistano e che in error.log non vengano visualizzati nuovi errori.

Lettura correlata

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