Sie sehen sich Hilfeinhalte der folgenden Version an:

Einführung

Sie können Webservices in AEM Forms verwenden, um Felder in einem Formular auszufüllen. AEM Forms unterstützt die Webdienste, beschrieben im Web Services Description Language (WSDL) 1.1 mit Dokument/wörtlichem Stil und die SOAP-Endpunkte haben. Stellen Sie sich ein Szenario vor, in dem Sie eine wöchentliche Wettervorhersage für die Postleitzahl anzeigen möchten, die vom Benutzer angegeben wurde. Sie können eine Inhaltsregel zum Verwenden eines bestehenden Webdiensts erstellen, um die Wettervorhersagedaten abzurufen und die Daten dann im Formular wiederzugeben.

Sie können entweder die URL des Dienstes direkt angeben, während Sie eine Regel erstellen, oder einen Webdienst in CRX vorkonfigurieren, um den Webdienst im Regeleditor als Menüelement zur Verfügung zu stellen. In diesem Artikel wird beschrieben, wie Sie einen Webdienst in CRX mit bestimmten Eingabe- und Ausgabeparametern so vorkonfigurieren, dass sie im Regeleditor verfügbar sind. 

Wenn Sie eine solche Regel im Regeleditor zu erstellen, gelten folgende Voraussetzungen:

  • Ein adaptives Formular mit den entsprechenden Formularobjekten: je ein Formularobjekt für jeden Eingabeparameter und je ein Formularobjekt zum Anzeigen der Ausgabeparameter (hier nur einer für die Anzeige der Wettervorhersage)
  • Vorkonfigurieren des Webdiensts in CRX mit den Eingabe- und Ausgabeparametern

Das Beispiel in diesem Artikel verwendet den Wetter-Webdienst von www.cdyne.com. Weitere Informationen zu diesem Wetter-Webdienst finden Sie im Dokument Spezifikationen für Weather-Webdienst.

Sie können die angehängte Datei „Weather_WSDL.zip“ direkt auf CRX hochladen, damit dieses Beispiel funktioniert. 

Herunterladen

Einrichten des Webdiensts in CRX für Regeleditor

AEM Forms unterstützt die Webdienste, beschrieben im Web Services Description Language (WSDL) 1.1 mit Dokument/wörtlichem Stil und die SOAP-Endpunkte haben. Führen Sie die folgenden Schritte aus, um einen Webservice in CRX für den Regeleditor vorzukonfigurieren:

  1. Navigieren Sie zu http://[Server]:[Port]/[ContextPath]/crx/de und melden Sie sich als Administrator an.

  2. Erstellen Sie im Apps-Ordner einen Knoten (hier GetCityForecastByZIP).

    Hinweis:

    Erstellen Sie den Webdienstknoten nur im Apps-Ordner. Standardmäßig können Webdienste im Ordner „Apps und Libs“ eingerichtet werden. Der Administrator kann jedoch mindestens einen Speicherort im CRX konfigurieren, wo die Benutzer der adaptiven Formulare die Webdienste konfigurieren können. Das kann erforderlich sein, da die Benutzer möglicherweise keinen Zugriff auf den Ordner „Apps und Libs“ in CRX haben. Weitere Informationen finden Sie unter Konfigurieren von Webdienstspeicherorten in CRX.

    1. Klicken Sie mit der rechten Maustaste auf den Ordner „apps“ und wählen Sie Erstellen > Knoten erstellen.

    2. Geben Sie einen Namen für den Ordner an (hier GetCityForecastByZIP), stellen Sie sicher, dass der Knotentyp nt:unstructured ist und klicken Sie auf OK.

    3. Klicken Sie auf Alle speichern.

  3. Fügen Sie die folgenden Eigenschaften dem neu erstellten Knoten (hier GetCityForecastByZip) hinzu und klicken Sie auf Alle speichern:

    Eigenschaft Typ Beschreibung Wert
    guideComponentType Zeichenfolge
    Eine Konstante, die die als Webdienst identifizierte Konfiguration angibt fd/af/webServices
    url Zeichenfolge URL des Webdiensts, den Sie einrichten http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL
    jcr:title Zeichenfolge Der Name des Webdiensts, wie er in der Dropdown-Liste des Regeleditors angezeigt wird Wöchentliches Wetter einer Stadt
    operation Zeichenfolge Die Ausführung des Webdiensts, der eingerichtet wird
    GetCityForecastByZIP
  4. Erstellen Sie die folgenden Unterknoten des Typs „nt:unstructured“ unter dem Webdienstknoten (hier GetCityForecastByZip) und klicken Sie auf Alle speichern:

    • Eingabe
    • output
  5. Erstellen Sie unter dem Knoten mit dem Namen „input“ Unterknoten für jeden der Parameter, die Sie vorkonfigurieren möchten. Im Szenario mit dem Wetter-Webdienst erstellen Sie einen Knoten, damit der Benutzer seine Postleitzahl eingeben kann.

    Führen Sie die folgenden Schritte aus, um einen Knoten für den Parameter „input“ zu erstellen:

    Hinweis:

    Wenn Sie keinen Eingabeknoten hinzufügen, werden das Formularobjekt und die Regel mit allen Eingabeparametern im Webdienst ausgefüllt.

    1. Klicken Sie mit der rechten Maustaste auf den Knoten „input“ und wählen Sie Erstellen > Knoten erstellen.

    2. Geben Sie einen Namen für den untergeordneten Knoten (hier „ZIP“) ein und klicken Sie auf OK.

    3. Fügen Sie die Eigenschaften dem untergeordneten Knoten hinzu. Im Szenario mit dem Wetter-Webdienst fügen Sie dem untergeordneten Knoten die folgenden Eigenschaften hinzu und klicken auf Alle speichern:

       Eigenschaft Typ Beschreibung Wert
      id Zeichenfolge
      ID des Eingabeparameters wie im Webdienst
      Postleitzahl
      jcr:title
      Zeichenfolge Name des Eingabeparameters, wie er dem Benutzer angezeigt wird Postleitzahl
      defaultValue Zeichenfolge Standardwert für den Parameter 
      90028
      hide
      Boolesch Legt fest, ob der Parameter ausgeblendet wird
      False

      Hinweis:

      Wenn die Eigenschaft „hide“ auf „True“ festgelegt ist, müssen Sie einen Wert für die Eigenschaft „defaultValue“ angeben, da der Benutzer nicht in der Lage ist, den Eingabeparameter anzuzeigen und einen Wert anzugeben.

  6. Erstellen Sie unter dem Knoten mit dem Namen „output“ Unterknoten für jeden der Ausgabeparameter, den Sie in Ihre Konfiguration einschließen und dem Benutzer anzeigen möchten.

    Führen Sie die folgenden Schritte aus, um einen Knoten (hier „weather Date“) für den Parameter „output“ zu erstellen:

    Hinweis:

    Wenn Sie keinen Ausgabeknoten hinzufügen, werden das Formularobjekt und die Regel mit allen Ausgabeparametern im Webdienst ausgefüllt.

    1. Klicken Sie mit der rechten Maustaste auf den Ausgabeknoten und wählen Sie Erstellen > Knoten erstellen.

    2. Geben Sie einen Namen für den untergeordneten Knoten (hier „weather Date“) ein und klicken Sie auf OK.

    3. Fügen Sie die Eigenschaften dem untergeordneten Knoten hinzu.

      Im Szenario mit dem Wetter-Webdienst fügen Sie dem untergeordneten Knoten die folgenden Eigenschaften hinzu und klicken auf Alle speichern:

      Eigenschaft Typ Beschreibung Wert
      id Zeichenfolge
      ID des Ausgabeparameters wie im Webdienst. Für die ID muss die Groß-/Kleinschreibung beachtet werden.

      GetCityForecastByZIPResponse.GetCityForecastByZIPResult.

      ForecastResult.Forecast.Date

      jcr:title
      Zeichenfolge Name des Ausgabeparameters, wie er dem Benutzer angezeigt wird Datum

      Erstellen Sie mit den obigen Schritten einen zweiten Unterknoten (here: Wetterbeschreibung) und fügen Sie die folgenden Eigenschaften zum Unterknoten hinzu:

       

      Eigenschaft Typ Beschreibung Wert
      id Zeichenfolge
      ID des Ausgabeparameters wie im Webdienst. Für die ID muss die Groß-/Kleinschreibung beachtet werden.

      GetCityForecastByZIPResponse.GetCityForecastByZIPResult.

      ForecastResult.Forecast.Desciption

      jcr:title
      Zeichenfolge Name des Ausgabeparameters, wie er dem Benutzer angezeigt wird Beschreibung

      Hinweis:

      Der wert der I D-Eigenschaft umfasst den Parameternamen als „Beschreibung“ und nicht „Beschreibung“. Das ist laut WSDL.

Wenn der Webdienst in CRX vorkonfiguriert ist, erstellen Sie eine Regel basierend auf den Webdienst im Regeleditor für ein adaptives Formular. Erstellen Sie bei Bedarf ein adaptives Formular, in dem Sie den vorkonfigurierten Webservice verwenden können.

Konfigurieren des Webdienstspeicherorts in CRX

Standardmäßig können Webdienste im Ordner „Apps und Libs“ eingerichtet werden. Der Administrator kann jedoch mindestens einen Speicherort im CRX einrichten, wo die Benutzer der adaptiven Formulare die Webdienste konfigurieren können. Das kann erforderlich sein, da die Benutzer möglicherweise keinen Zugriff auf den Ordner „Apps und Libs“ in CRX haben.

Um den Webdienstspeicherort in CRX zu konfigurieren, führen Sie folgende Schritte durch:

  1. Navigieren Sie zu 
    http://[Server]:[Port_number]/system/console/configMgr und melden Sie sich als Admin an.

  2. Öffnen Sie den Konfigurationsdienst des adaptiven Formulars.

  3. Ändern Sie im Suchpfad von WSDL Config den Konfigurationspfad oder fügen Sie ihn hinzu.

    ConfigureWebService
  4. Klicken Sie auf Speichern.

Erstellen eines adaptiven Formulars für die Vorkonfiguration „GetCityForecastByZIP“

Für das Erstellen einer Regel, die auf der Vorkonfiguration „GetCityForecastByZIP“ basiert, benötigen Sie ein adaptives Formular mit folgenden Eigenschaften:

  • Ein Feld, in dem der Benutzer die Postleitzahl eingeben kann 
  • Eine Tabelle, die das wöchentliche Wetter für die eingegebene Postleitzahl enthalten kann. In unserem Szenario sollten Sie die Zeile der Tabelle wiederholbar machen, indem Sie die Eigenschaft „maxOccur“ auf 7 festlegen. Die sieben Zeilen sind erforderlich sind, um die Wettervorhersage für jeden Wochentag anzuzeigen.

Das Formular zum Erstellen der auf den Wetter-Webdienst basierten Regel würde folgendermaßen aussehen:

AFforWeatherRule

Weitere Informationen zur Erstellung eines adaptiven Formulars finden Sie unter Erstellen eines adaptiven Formulars.

Erstellen einer Regel zum Aufrufen des Webdiensts im adaptiven Formular

Nachdem Sie einen Webdienst in CRX eingerichtet und das richtige adaptive Formular für das Erstellen der Regel zur Verfügung haben, können Sie eine Regel schreiben, um den Webdienst aufzurufen und ein Formularobjekt auszufüllen. 

Führen Sie die folgenden Schritte aus, um eine auf Webdienst basierte Regel für ein Feld (hier Postleitzahl) zu erstellen:

  1. Öffnen Sie das entsprechende Formular im Bearbeitungsmodus. Tippen Sie auf das Postleitzahlfeld und auf . Als Nächstes tippen Sie auf Erstellen, um den Regeleditor zu starten.

    CreateRuleVisualEditor
  2. Tippen Sie auf die Dropdown-Liste Status auswählen und wählen Sie Bei Änderung.

    Das Ereignis „Bei Änderung“ ruft die Regel auf, wenn der Wert des Felds (hier Postleitzahl) geändert wird. Um diese Regel auf andere Weise zu erstellen, können Sie andere Ereignisse und Operatoren im Regeleditor verwenden.

    2_WSWriteRuleVisualEditor_IsChanged
  3. In der Anweisung „Then“ wählen Sie Dienst aufrufen aus der Dropdown-Liste Aktion auswählen. Die Dropdown-Liste Webdienst-URL eingeben wird angezeigt 

    3_WSWriteRuleVisualEditor_Invoke
  4. Im Feld Webdienst-URL eingeben tippen Sie auf  und wählen Sie den Namen des Webdiensts aus (hier „Weeklyweatherofacity“), den Sie in CRX eingerichtet haben. Die Platzhalter für Eingabe und Ausgabe werden angezeigt.

    Um einen Webdienst aufzurufen, die nicht in CRX eingerichtet werden, können Sie die Webdienst-URL direkt in das Feld Webdienst-URL eingeben eingeben.

    4_WSWriteRuleVisualEditor_WeatherWeek

    Hinweis:

    In diesem Szenario ist beim Erstellen des Eingabeknotens in CRX der Standardwert des Parameters auf 90028 eingestellt. Um die Wettervorhersage für die Standardpostleitzahl (90028) anzuzeigen, überspringen Sie Schritt 5. Oder um den benutzerspezifischen Wert im Postleitzahlgebiet als Eingabe zu verwenden, fahren Sie mit Schritt 5 fort. 

    Hinweis:

    Wenn die Platzhalter für Eingabe und Ausgabe bei der Auswahl des Webdiensts nicht angezeigt werden, überprüfen Sie die ID-Eigenschaft des dazugehörigen Ausgabeordners in CRX. Stellen Sie sicher, dass die ID korrekt und mit dem richtigen Fall eingegeben wird.

  5. Um im Postleitzahlfeld einen benutzerspezifischen Wert statt dem Standardwert aus CRX zu verwenden, gehen Sie wie folgt vor:

    1. Im Platzhalter für die Eingabe löschen Sie den Standardwert und wählen die Eingabe einer Komponente.

      5_WSWriteRuleVisualEditor_Input
    2. Wählen Sie das Feld Postleitzahl aus oder ziehen Sie es aus der Registerkarte „Formularobjekt“ in das Ablageobjekt Eingabe.

  6. Im Platzhalter für die Ausgabe ziehen Sie die zwei Felder Textfeld der Tabelle aus der Registerkarte „Formularobjekt“ in die Ablageobjekte:

    1. Ziehen Sie das Textfeld für das Datum in Ihre Tabelle unter dem Ausgabeparameter „GetWeatherInformationResult.WeatherDescription.Date“. 

    2. Ziehen Sie das zum Wetter gehörige Textfeld in Ihrer Tabelle zum Ausgabeparameter „GetWeatherInformationResult.WeatherDescription.Descriptions“.

      6_WSWriteRuleVisualEditor_InputOutput
  7. Tippen Sie auf Fertig, um die Regel zu speichern. 

Ausfüllen von Formularobjekten mit der webdienstbasierten Regel

Im adaptiven Formular, in der Sie die webdienstbasierte Regel erstellt haben, führen Sie die folgenden Schritte aus, um die Formularobjekte mit dem Webdienst auszufüllen:

  1. Geben Sie im Postleitzahlfeld die Postleitzahl der Stadt ein, für die Sie das Wetter abrufen möchten. 

    AFforWeatherRule

    Wenn Sie den Cursor aus dem Postleitzahlfeld verschieben, wird die Tabelle ausgefüllt mit demtageweisenWetter für die Woche. Wenn Sie beispielsweise die Postleitzahl für San Jose, CA (95111) eingeben und dann den Cursor mit Tab-Taste oder Maus aus dem Postleitzahlfeld verschieben, zeigt die Tabelle das wöchentliche Wetter wie folgt an:

    WeatherRuleInfo

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie