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.
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.
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);