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 guidelib.dataIntegrationUtils.executeOperation
API nell’editor di codice del editor di regole.
Questo documento si concentra sulla scrittura di un JavaScript utilizzando guidelib.dataIntegrationUtils.executeOperation
API per richiamare un servizio.
La guidelib.dataIntegrationUtils.executeOperation
L’API richiama un servizio dall’interno di un campo 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 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 facoltativo 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 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.
La getAccountById
prende il valore nel employeeID
campo modulo come input per empId
argomento e restituisce il nome del dipendente, il numero di conto e il saldo del conto per il dipendente corrispondente. I valori di output vengono compilati nei campi modulo specificati. Ad esempio, il valore in name
viene popolato in fullName
elemento e valore modulo 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 chiamata di ritorno 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.
La GETOrder
prende il valore nel Order ID
campo modulo come input per orderId
argomento e restituisce il valore della quantità dell'ordine nel success
funzione di callback. Se la success
la funzione di callback non restituisce la quantità dell'ordine, il failure
la funzione di callback visualizza Error occured
messaggio.
Se utilizzi success
funzione di callback, i valori di output non vengono compilati 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);