HTML5-Formulare mit „Default Submit“-Prozess und „Default Render“-Prozess in einem Workflow lassen sich auf JBOSS 7 nicht senden oder rendern

Umgebung

AEM 6.5 Forms auf JEE

Problem

Wenn Sie Ihre Version auf AEM 6.5 Forms aktualisieren, passiert Folgendes:

  • Ein HTML5-Formular, das in einen Workflow eingebunden ist, der den Prozess „Default Submit Form“ enthält, kann nicht gesendet werden.
  • Ein HTML5-Formular, das in einen Workflow eingebunden ist, der den Prozess „Default Render“ enthält, kann nicht gerendert werden.

Ursache

Aktualisierung der JBoss-Version von JBoss 6.4.5 (verwendet in AEM 6.3 Forms) und JBoss 7.0.6 (verwendet in AEM 6.4 Forms) auf JBoss 7.1.2 in AEM 6.5 Forms.

Daraufhin schlägt die Übermittlung oder Darstellung von HTML5-Formularen fehl, weil eine Aktualisierung von Content-Type im Prozess „Default Submit Form“ oder User-Agent im Prozess „Default Render“ verwendet wird.

Lösung

Führen Sie die folgenden Schritte aus, um den Fehler durch den Prozess „Default Submit Form“ zu umgehen:

  1. Öffnen Sie den Prozess Default Submit Form in Workbench.
  2. Erstellen Sie eine neue Variable des Datentyps String. Zum Beispiel camelCaseContentType.
  3. Mappen Sie im Schritt Detect Content Type /process_data/@camelCaseContentType mit /process_data/httpHeaders[@id='Content-Type'].
  4. Fügen Sie in der Zeile content type refers to html form folgende Bedingung hinzu:
    string(contains(lower-case(/process_data/@camelCaseContentType), 'application/x-www-form-urlencoded'))
  5. Speichern Sie den Prozess und stellen Sie ihn bereit.

Führen Sie die folgenden Schritte aus, um den Fehler durch den Prozess „Default Render“ zu umgehen:

  1. Öffnen Sie den Prozess Default Render in Workbench.
  2. Erstellen Sie eine neue Variable des Datentyps String. Zum Beispiel, camelCaseUserAgent.
  3. Mappen Sie im Schritt Detect User Agent /process_data/@camelCaseUserAgent mit /process_data/httpHeaders[@id='User-Agent'].
  4. Fügen Sie in der Zeile user agent contains ipad or android folgende Bedingung hinzu:
    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. Speichern Sie den Prozess und stellen Sie ihn bereit.

 

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?