API zum Aufrufen von Formulardatenmodelldiensten aus adaptiven Formularen

Adobe empfiehlt die Verwendung der modernen und erweiterbaren Datenerfassung Kernkomponenten für Erstellen neuer adaptiver Forms oder Hinzufügen von Adaptive Forms zu AEM Sites-Seiten. Diese Komponenten stellen einen bedeutenden Fortschritt bei der Erstellung adaptiver Forms dar und sorgen für beeindruckende Benutzererlebnisse. In diesem Artikel wird der ältere Ansatz zum Erstellen von Adaptive Forms mithilfe von Foundation-Komponenten beschrieben.

Übersicht

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

In diesem Dokument wird das Schreiben von JavaScript in der guidelib.dataIntegrationUtils.executeOperation-API für den Aufruf eines Service beschrieben.

Verwenden der API

Die guidelib.dataIntegrationUtils.executeOperation-API ruft einen Service über ein Feld in einem adaptiven Formular auf. Für die API gilt folgende Syntax:

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

Die Struktur der guidelib.dataIntegrationUtils.executeOperation-API gibt Details zum Service-Vorgang 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 folgende Informationen zum Service-Vorgang an.

Parameter Beschreibung
operationInfo Struktur zur Angabe von Formulardatenmodellkennung, Operationstitel und Operationsname
formDataModelId Gibt den Repository-Pfad zum Formulardatenmodell an, einschließlich seines Namens
operationName Gibt den Namen des auszuführenden Service-Vorgangs an
inputs Ordnet mindestens ein Formularobjekt den Eingabeargumenten für den Service-Vorgang zu
Outputs Ordnet mindestens ein Formularobjekt Ausgabewerten aus dem Service-Vorgang zu, um Formularfelder zu befüllen
success Gibt Werte auf Grundlage der Eingabeargumente für den Service-Vorgang zurück. Dies ist ein optionaler Parameter, der als Rückruffunktion verwendet wird.
failure Zeigt eine Fehlermeldung an, wenn die Funktion für erfolgreichen Rückruf die Ausgabewerte auf Grundlage der Eingabeargumente nicht anzeigen kann. Dies ist ein optionaler Parameter, der als Rückruffunktion verwendet wird.

Beispielskript zum Aufrufen eines Service

Folgendes Beispielskript verwendet die guidelib.dataIntegrationUtils.executeOperation-API, um den getAccountById-Service-Vorgang aufzurufen, der im Formulardatenmodell employeeAccount konfiguriert ist.

Der Vorgang getAccountById nimmt den Wert im Formularfeld employeeID als Eingabe für das Argument empId und gibt den Mitarbeiternamen, die Kontonummer und den 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 befüllt und der Wert für das Argument accountNumber im Formularelement account.

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 Rückruffunktion

Sie können den Formulardatenmodell-Service auch mithilfe der guidelib.dataIntegrationUtils.executeOperation-API mit einer Rückruffunktion aufrufen. Für die API gilt 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 Fehlschlag

Folgendes Beispielskript verwendet die guidelib.dataIntegrationUtils.executeOperation-API, um den GETOrder-Service-Vorgang aufzurufen, der im Formulardatenmodell employeeOrder konfiguriert ist.

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