上次更新日期:
Apr 29, 2021 08:13:13 AM GMT
|
同时适用于: AEM Forms on JEE
环境
JEE 上的 AEM 6.5 表单
问题
如果升级到 AEM 6.5 表单:
- 在含有“默认提交表单”进程的工作流程中,提交 HTML5 表单失败。
- 在含有“默认呈现”进程的工作流程中,呈现 HTML5 表单失败。
原因
将 JBoss 版本从 JBoss 6.4.5(用于 AEM 6.3 表单)和 JBoss 7.0.6(用于 AEM 6.4 表单)更新至 JBoss 7.1.2(用于 AEM 6.5 表单)。
在执行上述更新后,由于“默认提交表单”进程中使用的 Content-Type 发生更新,或者,由于“默认呈现”进程中使用的 User-Agent 发生更新,导致提交或呈现 HTML5 表单失败。
解决方案
执行以下步骤,解决由于“默认提交表单”进程导致的失败问题:
- 在工作台中打开默认提交表单进程。
- 新建一个字符串数据类型的变量。例如,camelCaseContentType。
- 在“检测内容类型”步骤中,建立“/process_data/@camelCaseContentType”与“/process_data/httpHeaders[@id='Content-Type']”的映射关系。
- 在“content type refers to html form”行中,添加以下条件:
string(contains(lower-case(/process_data/@camelCaseContentType), 'application/x-www-form-urlencoded')) - 保存并部署此进程。
执行以下步骤,解决由于“默认呈现”进程导致的失败问题:
- 在工作台中打开默认呈现进程。
- 新建一个字符串数据类型的变量。例如,camelCaseUserAgent。
- 在“检测用户代理”步骤中,建立“/process_data/@camelCaseUserAgent”与“/process_data/httpHeaders[@id='User-Agent']”的映射关系。
- 在“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' - 保存并部署此进程。
登录到您的帐户