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 modulo adattivo. Per richiamare un servizio del modello dati, puoi creare una regola nell’editor visivo o specificare un JavaScript utilizzando l’ guidelib.dataIntegrationUtils.executeOperation
API nell’editor di codice dell’ editor di regole.
Questo documento si concentra sulla scrittura di un JavaScript utilizzando l’ guidelib.dataIntegrationUtils.executeOperation
API per richiamare un servizio.
L’ API guidelib.dataIntegrationUtils.executeOperation
richiama un servizio dall’interno di un campo modulo adattivo. La sintassi API è la seguente:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
La struttura dell’ API guidelib.dataIntegrationUtils.executeOperation
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 seguenti dettagli sull’operazione del servizio.
Parametro | Descrizione |
---|---|
operationInfo |
Struttura per specificare l’identificatore del modello di 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 suo nome |
operationName |
Specifica il nome dell'operazione del servizio da eseguire |
inputs |
Mappa uno o più oggetti modulo agli argomenti di input per l'operazione del servizio |
Outputs |
Mappa uno o più oggetti modulo ai valori di output dall'operazione del servizio per comporre i campi modulo |
success |
Restituisce valori in base agli argomenti di input per l'operazione del servizio. Si tratta di un parametro opzionale utilizzato come funzione di callback. |
failure |
Visualizza un messaggio di errore se la funzione di callback di successo non riesce a visualizzare i valori di output in base agli argomenti di input. Si tratta di un parametro opzionale utilizzato come funzione di callback. |
Lo script di esempio seguente utilizza l'API guidelib.dataIntegrationUtils.executeOperation
per richiamare l'operazione del servizio getAccountById
configurata nel modello di dati del modulo employeeAccount
.
L'operazione getAccountById
considera il valore nel campo modulo employeeID
come input per l'argomento 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 nell’argomento name
viene popolato nell’elemento e nel valore fullName
del modulo accountNumber
per l’argomento nell’elemento modulo 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);
È inoltre possibile richiamare il servizio del modello dati del modulo utilizzando l’ API guidelib.dataIntegrationUtils.executeOperation
con una funzione di callback. La sintassi API è la seguente:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)
La funzione di chiamata di ritorno può avere le funzioni di callback success
e failure
.
Lo script di esempio seguente utilizza l'API guidelib.dataIntegrationUtils.executeOperation
per richiamare l'operazione del servizio GETOrder
configurata nel modello di dati del modulo employeeOrder
.
L'operazione GETOrder
prende il valore nel campo modulo Order ID
come input per l'argomento orderId
e restituisce il valore della quantità dell'ordine nella funzione di callback success
. Se la funzione di callback success
non restituisce la quantità dell'ordine, la funzione di callback failure
visualizza il messaggio Error occured
.
Se si utilizza la funzione di callback success
, i valori di output non vengono compilati nei campi del 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);