AEM Forms consente agli autori dei moduli di semplificare e migliorare ulteriormente l’esperienza di compilazione dei moduli richiamando i servizi configurati in un modello di dati del modulo dall’interno di un campo di modulo adattivo. Per richiamare un servizio del modello dati, puoi creare una regola nell’editor visivo o specificare un JavaScript utilizzando guidelib.dataIntegrationUtils.executeOperation
API nell'editor di codice di editor di regole.
Questo documento si concentra sulla scrittura di un JavaScript utilizzando guidelib.dataIntegrationUtils.executeOperation
API per richiamare un servizio.
Il guidelib.dataIntegrationUtils.executeOperation
L’API richiama un servizio dall’interno di un campo di un modulo adattivo. La sintassi API è la seguente:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
La struttura del guidelib.dataIntegrationUtils.executeOperation
API specifica i dettagli sull’operazione del servizio. La sintassi della struttura è la seguente.
var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}
La struttura API specifica i dettagli seguenti sull’operazione del servizio.
Parametro | Descrizione |
---|---|
operationInfo |
Struttura per specificare l'identificatore del modello dati del modulo, il titolo dell'operazione e il nome dell'operazione |
formDataModelId |
Specifica il percorso del repository del modello dati del modulo, incluso il nome |
operationName |
Specifica il nome dell'operazione di servizio da eseguire |
inputs |
Esegue il mapping di uno o più oggetti modulo agli argomenti di input per l'operazione di servizio |
Outputs |
Esegue il mapping di uno o più oggetti modulo ai valori di output dell'operazione di servizio per compilare i campi modulo |
success |
Restituisce valori in base agli argomenti di input per l'operazione di servizio. Si tratta di un parametro facoltativo utilizzato come funzione di callback. |
failure |
Visualizza un messaggio di errore se la funzione di callback di successo non visualizza i valori di output in base agli argomenti di input. Si tratta di un parametro facoltativo utilizzato come funzione di callback. |
Lo script di esempio seguente utilizza guidelib.dataIntegrationUtils.executeOperation
API per richiamare getAccountById
operazione di servizio configurata in employeeAccount
modello dati modulo.
Il getAccountById
l'operazione assume il valore nel employeeID
campo modulo come input per empId
e restituisce il nome del dipendente, il numero di conto e il saldo del conto del dipendente corrispondente. I valori di output vengono compilati nei campi modulo specificati. Ad esempio, il valore name
viene popolato in fullName
elemento modulo e valore per accountNumber
argomento in account
elemento modulo.
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);
È inoltre possibile richiamare il servizio del modello dati modulo utilizzando guidelib.dataIntegrationUtils.executeOperation
API con una funzione di callback. La sintassi API è la seguente:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)
La funzione di richiamata può avere success
e failure
funzioni di callback.
Lo script di esempio seguente utilizza guidelib.dataIntegrationUtils.executeOperation
API per richiamare GETOrder
operazione di servizio configurata in employeeOrder
modello dati modulo.
Il GETOrder
l'operazione assume il valore nel Order ID
campo modulo come input per orderId
e restituisce il valore della quantità dell'ordine in success
callback. Se il success
funzione di callback non restituisce la quantità dell'ordine, il failure
funzione di callback visualizza Error occured
messaggio.
Se si utilizza success
funzione di callback, i valori di output non vengono inseriti nei campi modulo specificati.
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);