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

概要

AEM Forms を使用すると、アダプティブフォームフィールド内からフォームデータモデルで構成されたサービスを呼び出すことで、フォーム作成者はフォームへの記入作業を簡略化および強化することができます。データモデルサービスを呼び出すには、ビジュアルエディターでルールを作成するか、ルールエディターのコードエディターでguidelib.dataIntegrationUtils.executeOperation APIを使用してJavaScriptを指定します。

このドキュメントでは、guidelib.dataIntegrationUtils.executeOperation APIを使用してサービスを呼び出すJavaScriptの作成に重点を置いています。

API の使用

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

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

guidelib.dataIntegrationUtils.executeOperation APIの構造はサービス操作の詳細を指定します。 この構造の構文は以下のとおりです。

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

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

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

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

次のサンプルスクリプトでは、guidelib.dataIntegrationUtils.executeOperation APIを使用して、employeeAccountフォームデータモデルで設定されたgetAccountByIdサービス操作を呼び出します。

getAccountById演算は、empId引数の入力としてemployeeIDフォームフィールドの値を受け取り、対応する従業員の従業員名、口座番号、口座残高を返します。 この出力値は指定されたフォームフィールドに入力されます。例えば、name引数の値がfullNameフォーム要素に入力され、accountフォーム要素のaccountNumber引数の値が入力されます。

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を使用する

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

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

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

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

次のサンプルスクリプトでは、guidelib.dataIntegrationUtils.executeOperation APIを使用して、employeeOrderフォームデータモデルで設定されたGETOrderサービス操作を呼び出します。

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

メモ

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

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now