Show Menu
THEMEN×

API zum Aufrufen von Formulardatenmodelldiensten aus adaptiven Formularen

Übersicht

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. To invoke a data model service, you can either create a rule in the visual editor or specify a JavaScript using the guidelib.dataIntegrationUtils.executeOperation API in the code editor of the rule editor .
In diesem Dokument wird das Schreiben von JavaScript im API guidelib.dataIntegrationUtils.executeOperation für den Aufruf eines Dienst beschrieben.

Verwenden der API

The guidelib.dataIntegrationUtils.executeOperation API invokes a service from within an adaptive form field. Für die API gilt die folgende Syntax:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)

The structure of the guidelib.dataIntegrationUtils.executeOperation API specifies details about the service operation. 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 Maps one or more form objects to output values from the service operation to populate form fields
success Gibt Werte basierend auf den Eingabeargumenten für den Dienstvorgang zurück. Es handelt sich um einen optionalen 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. Es handelt sich um einen optionalen Parameter, der als Rückruffunktion verwendet wird.

Beispielskript zum Erstellen eines Dienstes

The following sample script uses the guidelib.dataIntegrationUtils.executeOperation API to invoke the getAccountById service operation configured in the employeeAccount form data model.
The getAccountById operation takes the value in the employeeID form field as input for the empId argument and returns employee name, account number, and account balance for the corresponding employee. Die Ausgabewerte werden in den angegebenen Formularfeldern befüllt. For example, the value in name argument is populated in the fullName form element and value for accountNumber argument in account form element.
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 über die guidelib.dataIntegrationUtils.executeOperation API 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 Rückruffunktionen success und failure Rückruffunktionen verfügen.

Beispielskript mit Rückruffunktionen bei Erfolg und Fehler

The following sample script uses the guidelib.dataIntegrationUtils.executeOperation API to invoke the GETOrder service operation configured in the employeeOrder form data model.
Der GETOrder Vorgang nimmt den Wert im Order ID Formularfeld als Eingabe für das orderId Argument und gibt den Wert für die Bestellmenge in der success Rückruffunktion zurück. Wenn die success Rückruffunktion nicht die Bestellmenge zurückgibt, zeigt die failure Rückruffunktion die Error occured Meldung an.
Wenn Sie die success Rückruffunktion 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);