アダプティブフォームからフォームデータモデルサービスを呼び出すための 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);

このページ