El modelo de fragmento de contenido no se puede guardar ni cargar debido a los límites de la solicitud de Sling

Los modelos de fragmentos de contenido no se pueden guardar, no se pueden mostrar todos los campos o revertir cambios cuando los límites de procesamiento de solicitudes de Sling están configurados demasiado bajos. Normalmente hay dos configuraciones implicadas: sling.max.calls, que controla cuántas llamadas de servidor realiza el editor, y request.max.file.count, que controla solicitudes de guardado de varias partes. Las actualizaciones restablecen estos límites o las configuraciones personalizadas de OSGi los sobrescriben, lo que déclencheur errores como TooManyCallsException y FileCountLimitExceededException. Para solucionarlo, aumente el límite de Sling afectado, elimine las invalidaciones de configuración en conflicto y confirme que el editor se carga y guarda correctamente.

Descripción description

Entorno

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services
  • AEM 6.5 local

Problema/Síntomas

  • Los registros de errores muestran TooManyCallsException.
  • Los registros de errores muestran FileCountLimitExceededException: attachment.
  • Los campos del modelo de fragmento de contenido no se guardan.
  • Los campos nuevos desaparecen después de volver a abrir el modelo.
  • El editor no muestra todas las pestañas o campos cuando el modelo contiene muchos campos.
  • Falta el botón Agregar en los cuadros de diálogo con listas múltiples anidadas.

Causa

AEM utiliza límites de procesamiento de solicitudes de Sling para protegerse contra la ejecución excesiva de solicitudes y los envíos de formularios de varias partes sobredimensionados. Si sling.max.calls es demasiado bajo, el editor del modelo de fragmento de contenido supera el número permitido de llamadas de servidor al cargar o guardar modelos complejos, lo que provoca TooManyCallsException. Si request.max.file.count es demasiado bajo, las solicitudes de guardado de varias partes fallan con FileCountLimitExceededException, incluso cuando no se estén cargando archivos. Las actualizaciones o las configuraciones personalizadas de OSGi restablecen o anulan estos valores y hacen que el problema vuelva.

Resolución resolution

Para solucionar errores de carga o guardado del modelo de fragmentos de contenido causados por los límites de las solicitudes de Sling, siga estos pasos:

  1. Identifique qué error se está produciendo al revisar error.log.

  2. Si el registro muestra TooManyCallsException, aumente sling.max.callsen el servlet principal de Apache Sling.

    • Para AEM 6.5 local o AEM Managed Services, abra /system/console/configMgr, busque Apache Sling Main Servlet y aumente Number of Calls per Request gradualmente a un valor más alto, como 2000 o 3000.
    • Para AEM as a Cloud Service, actualice org.apache.sling.engine.impl.SlingMainServlet.cfg.json en su proyecto ui.config y establezca sling.max.calls en un valor superior, como 2000 o 3000.
  3. Si el registro muestra FileCountLimitExceededException: attachment, aumente request.max.file.counten la administración de parámetros de solicitud de Apache Sling.

    • Para AEM 6.5 local o AEM Managed Services, abra /system/console/configMgr, busque Apache Sling Request Parameter Handling y establezca Maximum File Count en 10000.
    • Para AEM as a Cloud Service, actualice org.apache.sling.engine.parameters.cfg.json en su proyecto ui.config y establezca request.max.file.count en 10000.
  4. Compruebe si hay configuraciones de OSGi personalizadas en conflicto que anulen estos valores y los eliminen o corrijan.

  5. Reinicie AEM donde sea necesario para el tipo de implementación, de modo que se apliquen los valores actualizados.

  6. Vuelva a probar el modelo agregando campos, guardando y volviendo a abrir el modelo.

  7. Confirme que todos los campos persisten y que no aparecen nuevos errores en error.log.

Lectura relacionada

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