最終更新日 :
Apr 27, 2021 11:52:48 PM GMT
|
次にも適用 : AEM Forms on JEE
環境
AEM 6.5JEE 上の Forms
問題
AEM 6.5 Forms にアップグレードする場合:
- デフォルトのフォームを送信プロセスを含むワークフローに含まれる HTML5 フォームは、送信に失敗します。
- デフォルトのレンダリングプロセスを含むワークフローに含まれる HTML5 フォームは、レンダリングに失敗します。
原因
JBoss バージョンを JBoss 6.4.5(AEM 6.3 Forms で使用)および JBoss 7.0.6(AEM 6.4 Forms で使用)から AEM 6.5 Forms の JBoss 7.1.2 にアップデートします。
その結果、デフォルトのフォームを送信プロセスで使用される Content-Type またはデフォルトのレンダリングプロセスで使用される User-Agent が更新されることにより、HTML5 フォームの送信またはレンディションが失敗します。
解決策
デフォルトのフォームを送信プロセスによる失敗の回避策として、次の手順を実行します。
- Workbench でデフォルトのフォームを送信プロセスを開きます。
- 文字列データ型の新しい変数を作成します(例: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')) - プロセスを保存してデプロイします。
デフォルトのレンダリングプロセスによる失敗の回避策として、次の手順を実行します。
- Workbench でデフォルトのレンダリングプロセスを開きます。
- 文字列データ型の新しい変数を作成します(例: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' - プロセスを保存してデプロイします。
アカウントにログイン