API om de service voor formuliergegevensmodellen aan te roepen vanuit adaptieve formulieren api-to-invoke-form-data-model-service-from-adaptive-forms
Adobe adviseert het gebruiken van de moderne en verlengbare gegevens vangt Componenten van de Kern voor het creëren van nieuwe Aangepaste Forms of het toevoegen van Aangepaste Forms aan de pagina's van AEM Sites . Deze componenten betekenen een aanzienlijke vooruitgang in de aanmaak van Adaptive Forms en zorgen voor indrukwekkende gebruikerservaring. In dit artikel wordt een oudere aanpak beschreven voor de auteur Adaptive Forms die gebruikmaakt van stichtingscomponenten.
Overzicht overview
Met AEM Forms kunnen auteurs van formulieren de invulervaring van formulieren verder vereenvoudigen en verbeteren door services aan te roepen die vanuit een adaptief formulierveld zijn geconfigureerd in een formuliergegevensmodel. Om de dienst van het gegevensmodel aan te halen, kunt u of een regel in de visuele redacteur tot stand brengen of JavaScript specificeren gebruikend guidelib.dataIntegrationUtils.executeOperation API in de coderedacteur van de regelredacteur .
Dit document is gericht op het schrijven van een JavaScript met de API guidelib.dataIntegrationUtils.executeOperation om een service aan te roepen.
De API gebruiken using-the-api
De API van guidelib.dataIntegrationUtils.executeOperation roept een service aan vanuit een adaptief formulierveld. De API-syntaxis ziet er als volgt uit:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
De structuur van de API van guidelib.dataIntegrationUtils.executeOperation specificeert details over de de dienstverrichting. De syntaxis van de structuur ziet er als volgt uit.
var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}
De API-structuur geeft de volgende details over de servicebewerking op.
Voorbeeldscript om een service aan te roepen sample-script-to-invoke-a-service
In het volgende voorbeeldscript wordt de guidelib.dataIntegrationUtils.executeOperation API gebruikt om de getAccountById -servicebewerking aan te roepen die in het employeeAccount -formuliergegevensmodel is geconfigureerd.
De bewerking getAccountById neemt de waarde in het employeeID -formulierveld op als invoer voor het argument empId en retourneert de werknemernaam, het accountnummer en het rekeningsaldo voor de corresponderende employee. De uitvoerwaarden worden ingevuld in de opgegeven formuliervelden. De waarde in het argument name wordt bijvoorbeeld ingevuld in het argument fullName form element and value for accountNumber in het formulierelement 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);
API gebruiken met callback-functie using-the-api-callback
U kunt de service van het formuliergegevensmodel ook aanroepen met de API van guidelib.dataIntegrationUtils.executeOperation met een callback-functie. De API-syntaxis ziet er als volgt uit:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)
De callback-functie kan success - en failure callback-functies hebben.
Sampletcript van de steekproef met succes en mislukkingscallback functies callback-function-success-failure
In het volgende voorbeeldscript wordt de guidelib.dataIntegrationUtils.executeOperation API gebruikt om de GETOrder -servicebewerking aan te roepen die in het employeeOrder -formuliergegevensmodel is geconfigureerd.
De bewerking GETOrder neemt de waarde in het Order ID formulierveld als invoer voor het argument orderId en retourneert de waarde voor het aantal orders in de callback-functie success . Wanneer de callback-functie success niet het aantal orders retourneert, geeft de callback-functie failure het Error occured -bericht weer.
success gebruikt, worden de uitvoerwaarden niet in de opgegeven formuliervelden ingevuld.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);