API zum Aufrufen von Formulardatenmodelldiensten aus adaptiven Formularen

Überblick

AEM Forms ermöglicht es Formularautoren, das Ausfüllen von Formularen weiter zu vereinfachen und zu verbessern, indem sie Dienste, die in einem Formulardatenmodell konfiguriert sind, aus einem adaptiven Formularfeld heraus aufrufen. Um einen Datenmodelldienst aufzurufen, können Sie entweder eine Regel im Visual Editor erstellen oder mit der API guidelib.dataIntegrationUtils.executeOperation im Code-Editor des Regeleditors ein JavaScript angeben.

In diesem Dokument wird das Schreiben von JavaScript im APIguidelib.dataIntegrationUtils.executeOperation für den Aufruf eines Dienst beschrieben.

Verwenden der API

Die guidelib.dataIntegrationUtils.executeOperation-API ruft einen Dienst aus einem Feld für ein adaptives Formular auf. Für die API gilt die folgende Syntax:

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)

Die Struktur der API guidelib.dataIntegrationUtils.executeOperation gibt Details zum Dienstvorgang an. Die Struktur weist die folgende Syntax auf.

var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}

Die API-Struktur gibt die folgenden Informationen zum Webdienst-Vorgang an.

Parameter Beschreibung
operationInfo Struktur zur Angabe von Formulardatenmodellkennung, Operationstitel und Operationsname
formDataModelId Gibt den Repository-Pfad zum Formulardatenmodell einschließlich seines Namens an
operationName Gibt den Namen des auszuführenden Dienstvorgangs an
inputs Ordnet ein oder mehrere Formularobjekte den Eingabeargumenten für den Dienstvorgang zu
Outputs Ordnet ein oder mehrere Formularobjekte Ausgabewerten aus dem Dienstvorgang zu, um Formularfelder auszufüllen.
success Gibt Werte basierend auf den Eingabeargumenten für den Dienstvorgang zurück. Dies ist ein optionaler Parameter, der als Rückruffunktion verwendet wird.
failure Zeigt eine Fehlermeldung an, wenn die Rückruffunktion success die Ausgabenwerte basierend auf den Eingabeargumenten nicht anzeigen kann. Dies ist ein optionaler Parameter, der als Rückruffunktion verwendet wird.

Beispielskript zum Erstellen eines Dienstes

Das folgende Beispielskript verwendet die API guidelib.dataIntegrationUtils.executeOperation, um den im Formulardatenmodell employeeAccount konfigurierten Dienstvorgang getAccountById aufzurufen.

Der Vorgang getAccountById nimmt den Wert im Formularfeld employeeID als Eingabe für das empId-Argument und gibt Mitarbeitername, Kontonummer und Kontostand für den entsprechenden Mitarbeiter zurück. Die Ausgabewerte werden in den angegebenen Formularfeldern befüllt. Beispielsweise wird der Wert im Argument name im Formularelement fullName und der Wert für accountNumber im account-Formularelement gefüllt.

var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);

Verwenden der API mit der Rückruffunktion

Sie können den Formulardatenmodelldienst auch mit der API guidelib.dataIntegrationUtils.executeOperation mit einer Rückruffunktion aufrufen. Für die API gilt die folgende Syntax:

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)

Die Rückruffunktion kann über die Rückruffunktionen success und failure verfügen.

Beispielskript mit Rückruffunktionen für Erfolg und Fehler

Das folgende Beispielskript verwendet die API guidelib.dataIntegrationUtils.executeOperation, um den im Formulardatenmodell employeeOrder konfigurierten Dienstvorgang GETOrder aufzurufen.

Der Vorgang GETOrder nimmt den Wert im Formularfeld Order ID als Eingabe für das orderId-Argument und gibt den Wert für die Bestellmenge in der Rückruffunktion success zurück. Wenn die Rückruffunktion success nicht die Bestellmenge zurückgibt, zeigt die Rückruffunktion failure die Meldung Error occured an.

HINWEIS

Wenn Sie die Rückruffunktion success verwenden, werden die Ausgabewerte nicht in die angegebenen Formularfelder eingefügt.

var operationInfo = {
    "formDataModelId": "/content/dam/formsanddocuments-fdm/employeeOrder",
    "operationTitle": "GETOrder",
    "operationName": "GETOrder"
};
var inputs = {
    "orderId" : Order ID
};
var outputs = {};
var success = function (wsdlOutput, textStatus, jqXHR) {
order_quantity.value = JSON.parse(wsdlOutput).quantity;
 };
var failure = function(){
alert('Error occured');
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, success, failure);

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now