API per richiamare il servizio modello dati modulo da moduli adattivi api-to-invoke-form-data-model-service-from-adaptive-forms

Adobe consiglia di utilizzare l'acquisizione dati moderna ed estensibile Componenti coreper la creazione di un nuovo Forms adattivoo l'aggiunta di Forms adattivo alle pagine AEM Sites. Questi componenti rappresentano un progresso significativo nella creazione di Forms adattivi, garantendo esperienze utente straordinarie. Questo articolo descrive un approccio precedente all’authoring di Forms adattivi utilizzando i componenti di base.

Panoramica overview

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, è 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 si concentra sulla scrittura di un JavaScript utilizzando l'API guidelib.dataIntegrationUtils.executeOperation per richiamare un servizio.

Utilizzo dell’API using-the-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 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 del 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.

Script di esempio per richiamare un servizio sample-script-to-invoke-a-service

Lo script di esempio seguente utilizza l'API guidelib.dataIntegrationUtils.executeOperation per richiamare l'operazione del servizio getAccountById configurata nel modello dati del modulo employeeAccount.

L'operazione getAccountById utilizza 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 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 il 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 la funzione di callback using-the-api-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 success e failure funzioni di richiamata.

Script di esempio con funzioni di callback riuscite e non riuscite callback-function-success-failure

Lo script di esempio seguente utilizza l'API guidelib.dataIntegrationUtils.executeOperation per richiamare l'operazione del servizio GETOrder configurata nel modello dati del modulo employeeOrder.

L'operazione GETOrder accetta 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.

NOTE
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);
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2