ワークフローにデフォルトの送信プロセスとデフォルトのレンダリングプロセスを含む HTML5 フォームが、JBOSS 7 で送信またはレンダリングしない

環境

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 フォームの送信またはレンディションが失敗します。

解決策

デフォルトのフォームを送信プロセスによる失敗の回避策として、次の手順を実行します。

  1. Workbench でデフォルトのフォームを送信プロセスを開きます。
  2. 文字列データ型の新しい変数を作成します(例:camelCaseContentType)。
  3. コンテンツタイプを検出ステップで、「/process_data/@camelCaseContentType」を「/process_data/httpHeaders[@id='Content-Type']」にマッピングします。
  4. content type refers to html form」行に次の条件を追加します。
    string(contains(lower-case(/process_data/@camelCaseContentType), 'application/x-www-form-urlencoded'))
  5. プロセスを保存してデプロイします。

デフォルトのレンダリングプロセスによる失敗の回避策として、次の手順を実行します。

  1. Workbench でデフォルトのレンダリングプロセスを開きます。
  2. 文字列データ型の新しい変数を作成します(例:camelCaseUserAgent)。
  3. ユーザーエージェントを検出ステップで、「/process_data/@camelCaseUserAgent」を「/process_data/httpHeaders[@id='User-Agent']」にマッピングします。
  4. 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'
  5. プロセスを保存してデプロイします。

 

アドビのロゴ

アカウントにログイン