API para chamar o serviço de modelo de dados de formulário a partir de formulários adaptáveis api-to-invoke-form-data-model-service-from-adaptive-forms

O Adobe recomenda o uso de Componentes principaisde captura de dados moderna e extensível para criar um novo Forms Adaptávelou adicionar o Forms Adaptável às páginas do AEM Sites. Esses componentes representam um avanço significativo na criação do Forms adaptável, garantindo experiências de usuário impressionantes. Este artigo descreve a abordagem mais antiga para criar o Forms adaptável usando componentes de base.

Visão geral overview

O AEM Forms permite que os autores de formulários simplifiquem e aprimorem ainda mais a experiência de preenchimento, chamando serviços configurados em um modelo de dados de formulário de dentro de um campo de formulário adaptável. Para invocar um serviço de modelo de dados, você pode criar uma regra no editor visual ou especificar um JavaScript usando a API guidelib.dataIntegrationUtils.executeOperation no editor de códigos do editor de regras.

Este documento se concentra na gravação de um JavaScript usando a API guidelib.dataIntegrationUtils.executeOperation para invocar um serviço.

Uso da API using-the-api

A API guidelib.dataIntegrationUtils.executeOperation invoca um serviço de dentro de um campo de formulário adaptável. A sintaxe da API é a seguinte:

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)

A estrutura da API guidelib.dataIntegrationUtils.executeOperation especifica detalhes sobre a operação de serviço. A sintaxe da estrutura é a seguinte:

var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}

A estrutura da API especifica os seguintes detalhes sobre a operação de serviço.

Parâmetro
Descrição
operationInfo
Estrutura para especificar o identificador do modelo de dados de formulário, o título da operação e o nome da operação
formDataModelId
Especifica o caminho do repositório para o modelo de dados de formulário, incluindo seu nome
operationName
Especifica o nome da operação de serviço a ser executada
inputs
Mapeia um ou mais objetos de formulário para os argumentos de entrada da operação de serviço
Outputs
Mapeia um ou mais objetos de formulário para valores de saída da operação de serviço para preencher campos de formulário
success
Retorna valores com base nos argumentos de entrada da operação de serviço. É um parâmetro opcional usado como função de retorno de chamada.
failure
Exibe uma mensagem de erro se a função de retorno de chamada bem-sucedida falhar ao exibir os valores de saída com base nos argumentos de entrada. É um parâmetro opcional usado como função de retorno de chamada.

Exemplo de script para chamar um serviço sample-script-to-invoke-a-service

O exemplo de script a seguir usa a API guidelib.dataIntegrationUtils.executeOperation para invocar a operação de serviço getAccountById configurada no modelo de dados de formulário employeeAccount.

A operação getAccountById usa o valor no campo de formulário employeeID como entrada para o argumento empId e retorna o nome do funcionário, o número da conta e o saldo da conta para o funcionário correspondente. Os valores de saída são preenchidos nos campos de formulário especificados. Por exemplo, o valor no argumento name é preenchido no elemento de formulário fullName e o valor para o argumento accountNumber no elemento de formulário 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);

Uso da API com função de retorno de chamada using-the-api-callback

Você também pode invocar o serviço de modelo de dados de formulário usando a API guidelib.dataIntegrationUtils.executeOperation com uma função de retorno de chamada. A sintaxe da API é a seguinte:

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)

A função de retorno de chamada pode ter success e failure funções de retorno de chamada.

Exemplo de script com funções de retorno de chamada de sucesso e falha callback-function-success-failure

O exemplo de script a seguir usa a API guidelib.dataIntegrationUtils.executeOperation para invocar a operação de serviço GETOrder configurada no modelo de dados de formulário employeeOrder.

A operação GETOrder usa o valor no campo de formulário Order ID como entrada para o argumento orderId e retorna o valor da quantidade da ordem na função de retorno de chamada success. Se a função de retorno de chamada success não retornar a quantidade da ordem, a função de retorno de chamada failure exibirá a mensagem Error occured.

NOTE
Se você usar a função de retorno de chamada success, os valores de saída não serão preenchidos nos campos de formulário especificados.
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