AEM Forms consente agli autori dei moduli di semplificare e migliorare ulteriormente l'esperienza di compilazione richiamando i servizi configurati in un modello dati modulo da un campo modulo adattivo. Per richiamare un servizio del modello dati, è possibile creare una regola nell'editor visivo o specificare un JavaScript utilizzando l'API guidelib.dataIntegrationUtils.executeOperation
nell'editor di codice dell' editor di regole.
Questo documento è incentrato sulla scrittura di un JavaScript utilizzando l'API guidelib.dataIntegrationUtils.executeOperation
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 dati del modulo, il titolo dell'operazione e il nome dell'operazione |
formDataModelId |
Specifica il percorso dell'archivio del modello dati del modulo con il relativo 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 compilare i campi modulo |
success |
Restituisce valori basati sugli argomenti di input per l'operazione del servizio. È un parametro facoltativo utilizzato come funzione di callback. |
failure |
Visualizza un messaggio di errore se la funzione di callback success non visualizza i valori di output in base agli argomenti di input. È un parametro facoltativo 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
prende il valore nel campo del modulo employeeID
come input per l'argomento empId
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 nell'argomento name
viene popolato nell'elemento modulo fullName
e nel valore per l'argomento accountNumber
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 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 richiamata 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 del 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 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);