A AEM Forms permite que os autores de formulários simplifiquem e aprimorem ainda mais a experiência de preenchimento de formulários, chamando os serviços configurados em um modelo de dados de formulário a partir de um campo de formulário adaptável. Para chamar 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ódigo do editor de regras.
Este documento foca em gravar um JavaScript usando a API guidelib.dataIntegrationUtils.executeOperation
para chamar um serviço.
A API guidelib.dataIntegrationUtils.executeOperation
chama 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 do 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 do serviço.
Parâmetro | Descrição |
---|---|
operationInfo |
Estrutura para especificar o identificador do modelo de dados do 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 do 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 para a 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 para a operação de serviço. É um parâmetro opcional usado como uma função de retorno de chamada. |
failure |
Exibe uma mensagem de erro se a função de retorno de sucesso não exibir os valores de saída com base nos argumentos de entrada. É um parâmetro opcional usado como uma função de retorno de chamada. |
O script de exemplo a seguir usa a API guidelib.dataIntegrationUtils.executeOperation
para chamar 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 do 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 no valor do 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);
Você também pode chamar 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.
O script de exemplo a seguir usa a API guidelib.dataIntegrationUtils.executeOperation
para chamar 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 do pedido, a função de retorno de chamada failure
exibirá a mensagem Error occured
.
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);