API för att anropa formulärdatamodelltjänst från anpassningsbara formulär api-to-invoke-form-data-model-service-from-adaptive-forms
Översikt 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)
API kräver följande parametrar.
operationInfoinputsoutputsStrukturen 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.
Exempelskript för att anropa en tjänst sample-script-to-invoke-a-service
Följande exempelskript använder guidelib.dataIntegrationUtils.executeOperation API som anropar 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);