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 man använder modern och utbyggbar datainhämtning Kärnkomponenterfor skapa ny Adaptive Formseller lägga till adaptiv 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 ett JavaScript med guidelib.dataIntegrationUtils.executeOperation API i kodredigeraren för regelredigerare.

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

Använda API using-the-api

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

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

Strukturen för guidelib.dataIntegrationUtils.executeOperation API 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
Kopplar 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 callback-funktion.
failure
Visar ett felmeddelande om återanropsfunktionen lyckas inte visa utdatavärden baserat på indataargumenten. Det är en valfri parameter som används som en callback-funktion.

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

Följande exempelskript använder guidelib.dataIntegrationUtils.executeOperation API för att anropa getAccountById tjänståtgärd konfigurerad i employeeAccount formulärdatamodell.

The getAccountById operationen tar värdet i employeeID formulärfält som indata för empId argument och returnerar medarbetarens namn, kontonummer och kontosaldo för motsvarande medarbetare. Utdatavärdena fylls i i de angivna formulärfälten. Värdet i name argumentet har fyllts i i fullName formulärelement och värde för accountNumber argument i account formulärelement.

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 guidelib.dataIntegrationUtils.executeOperation API med en återanropsfunktion. API-syntaxen är följande:

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

Återanropsfunktionen kan ha success och failure callback-funktioner.

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

Följande exempelskript använder guidelib.dataIntegrationUtils.executeOperation API för att anropa GETOrder tjänståtgärd konfigurerad i employeeOrder formulärdatamodell.

The GETOrder operationen tar värdet i Order ID formulärfält som indata för orderId argument och returnerar orderkvantitetsvärdet i success callback-funktion. Om success callback-funktionen returnerar inte orderkvantiteten, failure callback-funktionen visar Error occured meddelande.

NOTE
Om du använder success callback-funktionen, utdatavärdena fylls inte i 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