API för att anropa formulärdatamodelltjänst från anpassningsbara formulär api-to-invoke-form-data-model-service-from-adaptive-forms

Adobe rekommenderar att du använder den moderna och utbyggbara datainhämtningen Core Componentsför att skapa nya adaptiva Formseller att lägga till adaptiva Forms på AEM Sites-sidor. De här komponenterna utgör ett betydande framsteg när det gäller att skapa adaptiva Forms-filer, vilket ger imponerande användarupplevelser. I den här artikeln beskrivs det äldre sättet att skapa Adaptiv Forms med baskomponenter.

Ökning overview

Med AEM Forms kan formulärförfattare ytterligare förenkla och förbättra ifyllandet av formulär genom att anropa tjänster som konfigurerats i en formulärdatamodell inifrån ett adaptivt formulärfält. Om du vill anropa en datamodelltjänst kan du antingen skapa en regel i den visuella redigeraren eller ange en JavaScript med guidelib.dataIntegrationUtils.executeOperation-API:t i kodredigeraren för regelredigeraren.

Det här dokumentet fokuserar på att skriva en JavaScript med API:t guidelib.dataIntegrationUtils.executeOperation för att anropa en tjänst.

Använda API using-the-api

API:t guidelib.dataIntegrationUtils.executeOperation anropar en tjänst från ett adaptivt formulärfält. API-syntaxen är följande:

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

Strukturen för guidelib.dataIntegrationUtils.executeOperation-API:t anger information om tjänståtgärden. Strukturen har följande syntax.

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

API-strukturen anger följande information om tjänståtgärden.

Parameter
Beskrivning
operationInfo
Struktur för att ange identifierare för formulärdatamodell, åtgärdstitel och åtgärdsnamn
formDataModelId
Anger databassökvägen till formulärdatamodellen inklusive dess namn
operationName
Anger namnet på den tjänståtgärd som ska köras
inputs
Kopplar ett eller flera formulärobjekt till indataargumenten för tjänståtgärden
Outputs
Mappar ett eller flera formulärobjekt till utdatavärden från tjänståtgärden för att fylla i formulärfält
success
Returnerar värden baserat på indataargumenten för serviceåtgärden. Det är en valfri parameter som används som en återanropsfunktion.
failure
Visar ett felmeddelande om återanropsfunktionen lyckas inte visa utdatavärden baserat på indataargumenten. Det är en valfri parameter som används som en återanropsfunktion.

Exempelskript för att anropa en tjänst sample-script-to-invoke-a-service

I följande exempelskript används API:t guidelib.dataIntegrationUtils.executeOperation för att anropa den getAccountById-tjänståtgärd som konfigurerats i formulärdatamodellen employeeAccount.

Åtgärden getAccountById tar värdet i formulärfältet employeeID som indata för argumentet empId och returnerar medarbetarens namn, kontonummer och kontosaldo för motsvarande medarbetare. Utdatavärdena fylls i i de angivna formulärfälten. Värdet i argumentet name fylls till exempel i i formulärelementet fullName och värdet för argumentet accountNumber i formulärelementet 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);

Använda API:t med återanropsfunktionen using-the-api-callback

Du kan också anropa datamodelltjänsten för formulär med API:t guidelib.dataIntegrationUtils.executeOperation med en callback-funktion. API-syntaxen är följande:

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

Återanropsfunktionen kan ha callback-funktionerna success och failure.

Exempelskript med återanropsfunktioner för lyckade och misslyckade åtgärder callback-function-success-failure

I följande exempelskript används API:t guidelib.dataIntegrationUtils.executeOperation för att anropa den GETOrder-tjänståtgärd som konfigurerats i formulärdatamodellen employeeOrder.

Åtgärden GETOrder tar värdet i formulärfältet Order ID som indata för argumentet orderId och returnerar orderkvantitetsvärdet i callback-funktionen success. Om återanropsfunktionen success inte returnerar ordningsantalet visar återanropsfunktionen failure meddelandet Error occured.

NOTE
Om du använder callback-funktionen success fylls inte utdatavärdena i de angivna formulärfälten.
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);
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2