Environnement
AEM Forms 6.5 sur JEE
Problème
Si vous passez à la version 6.5 d’AEM Forms :
- Un formulaire HTML5 inclus dans un workflow qui contient le processus de soumission par défaut ne parvient pas à effectuer la soumission.
- Un formulaire HTML5 inclus dans un workflow qui contient le processus de rendu par défaut ne parvient pas à effectuer le rendu.
Cause
Mise à jour des versions 6.4.5 (utilisée dans AEM Forms 6.3) et 7.0.6 (utilisée dans AEM Forms 6.4) de JBoss vers la version 7.1.2 dans AEM Forms 6.5.
Par conséquent, la soumission ou le rendu des formulaires HTML5 échoue en raison d’une mise à jour du type de contenu utilisé dans le processus de soumission par défaut du formulaire ou de l’utilisateur agent utilisé dans le processus de rendu par défaut.
Solution
Effectuez les étapes suivantes pour contourner l’échec dû au processus de soumission de formulaire par défaut :
- Ouvrez le processus Soumission par défaut du formulaire dans Workbench.
- Créez une nouvelle variable de type chaîne de caractères. Par exemple, camelCaseContentType.
- À l’étape Detecter le type de contenu, mappez « /process_data/@camelCaseContentType » avec « /process_data/httpHeaders[@id='Content-Type'] ».
- Ajoutez la condition suivante à la ligne « content type refers to html form » :
string(contains(lower-case(/process_data/@camelCaseContentType), 'application/x-www-form-urlencoded')) - Enregistrez et déployez le processus.
Effectuez les étapes suivantes pour contourner l’échec dû au processus de rendu par défaut :
- Ouvrez le processus Rendu par défaut dans Workbench.
- Créez une nouvelle variable de type chaîne de caractères. Par exemple, camelCaseUserAgent.
- À l’étape Detecter l’agent utilisateur, mappez « /process_data/@camelCaseUserAgent » avec « /process_data/httpHeaders[@id='User-Agent'] ».
- Ajoutez la condition suivante à la ligne « user agent contains ipad or android » :
string(contains(lower-case(/process_data/@camelCaseUserAgent), 'msapphost')) = 'true'
string(contains(lower-case(/process_data/@camelCaseUserAgent), 'android')) = 'true'
string(contains(lower-case(/process_data/@camelCaseUserAgent), 'ipad')) = 'true' - Enregistrez et déployez le processus.
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?