API per richiamare il servizio del modello dati modulo dai moduli adattivi

Panoramica

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.

Utilizzo dell'API

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.

Script di esempio per richiamare un servizio

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);

Utilizzo dell'API con funzione di callback

È 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.

Script di esempio con 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.

NOTA

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);

In questa pagina