アダプティブフォームからフォームデータモデルサービスを呼び出すための API

概要

AEM Forms を使用すると、アダプティブフォームフィールド内からフォームデータモデルで構成されたサービスを呼び出すことで、フォーム作成者はフォームへの記入作業を簡略化および強化することができます。To invoke a data model service, you can either create a rule in the visual editor or specify a JavaScript using the guidelib.dataIntegrationUtils.executeOperation API in the code editor of the rule editor.

This document focuses on writing a JavaScript using the guidelib.dataIntegrationUtils.executeOperation API to invoke a service.

API の使用

guidelib.dataIntegrationUtils.executeOperation API は、アダプティブフォームのフィールド内から サービスを呼び出します。API 構文は以下のとおりです。

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

The structure of the guidelib.dataIntegrationUtils.executeOperation API specifies details about the service operation. この構造の構文は以下のとおりです。

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

API 構造は、サービス操作の以下の詳細を指定します。

パラメーター 説明
operationInfo フォームデータモデルの識別子、操作タイトル、操作名を指定する構造
formDataModelId 名前を含むフォームデータモデルへのリポジトリパスを指定します
operationName 実行するサービス操作の名前を指定します
inputs 1つ以上のフォームオブジェクトをサービス操作の入力引数にマップします
Outputs Maps one or more form objects to output values from the service operation to populate form fields
success サービス操作の入力引数に基づいて値を返します。 コールバック関数として使用されるオプションのパラメーターです。
failure successコールバック関数が入力引数に基づいて出力値を表示できない場合に、エラーメッセージを表示します。 コールバック関数として使用されるオプションのパラメーターです。

サービスを呼び出すスクリプトのサンプル

The following sample script uses the guidelib.dataIntegrationUtils.executeOperation API to invoke the getAccountById service operation configured in the employeeAccount form data model.

The getAccountById operation takes the value in the employeeID form field as input for the empId argument and returns employee name, account number, and account balance for the corresponding employee. この出力値は指定されたフォームフィールドに入力されます。For example, the value in name argument is populated in the fullName form element and value for accountNumber argument in account form element.

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

コールバック関数でのAPIの使用

APIとコールバック関数を使用してフォームデータモデルサービスを呼び出すこ guidelib.dataIntegrationUtils.executeOperation ともできます。 API 構文は以下のとおりです。

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

コールバック関数は、 success および failure コールバック関数を持つことができます。

成功コールバック関数と失敗コールバック関数を含むサンプルスクリプト

The following sample script uses the guidelib.dataIntegrationUtils.executeOperation API to invoke the GETOrder service operation configured in the employeeOrder form data model.

この GETOrder 操作は、フォームフィールド内の値を Order ID 引数の入力として受け取り、 orderId success コールバック関数に注文数量の値を返します。 コールバック関数が注文数量を返さない場合、 success コールバック関数は failure Error occured メッセージを表示します。

メモ

callback関数を使用する場合、出力値は指定したフォームフィールドに入力されません。 success

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

このページ