アクション用の JavaScript API

以下の参照情報を使用して、ロー・コード・デザイナーでビジネス・アプリケーションを作成するときにアクションに使用できる JavaScript API について学習します。

アクションに対するスクリプト・アクティビティーは、アプリケーション・リソースとして識別されるサーバーに対する非同期要求をサポートするように拡張されました。 スクリプト・アクティビティーでは、以下の JavaScript 関数を使用できます。 これらの関数の使用例については、 Workflow Services ツールキットで提供されている StartProcess アクションを参照してください。

制約事項: 以下の関数は、実行前スクリプトまたは実行後スクリプトでは使用できません。
表 1. JavaScript 関数
関数 説明
tw.system.waitForContinueFlow() この関数は、スクリプトが非同期呼び出しを行うことを示すために呼び出します。 スクリプトの末尾に到達したときに、アクションがフロー内の次のステップに進むことを防止します。
tw.system.continueFlow() 非同期コールバックからこの関数が呼び出されると、非同期呼び出しが完了し、アクションがフロー内の次のステップに進むことができることを示します。
tw.system.performRequest(name, options, callback,errorcallback) サーバーに対する非同期呼び出しを実行します。 この関数を呼び出す前に waitForContinueFlow を呼び出す必要があり、コールバックによって continueFlow 関数を呼び出す必要があります。
重要: continueFlow を呼び出さないと、アクションは完了まで続行できません。
tw.system.performRequest 関数のパラメーターは次のとおりです。
{string} name
呼び出すサーバーを識別するアプリケーション・リソースの名前。
{object} options
要求の詳細。 アプリケーション・リソースでプロパティーが定義されている場合、ここで設定すると、アプリケーション・リソースの値がオーバーライドされます。 次のプロパティが使用できます。
  • {string} path: すべての照会パラメーターを含む相対 URL。 content-type ヘッダー "application/x-www-form-urlencoded" を使用するときは、代わりにペイロードにパラメーターを追加してください。
  • {string} method: "GET" (デフォルト)、"POST"、"PUT"、"DELETE" などの HTTP メソッド。
  • {object or string} payload: 要求本文に配置するペイロード・データ。content-type ヘッダーで異なる指定がされていない限り、オブジェクト・ペイロードは JSON に変換されます。 ブラウザー・フォームの実行依頼をシミュレートするには、ヘッダーで content-type を「multipart/form-data」に設定し、フォームでオブジェクトへのペイロードを設定します。 例:
    {
    <name>: <value>[,
    <name>: <value>]*
    }
    <name><value> は書式フィールドです。 ファイルを送信するには、<value>DocumentFile ビジネス・オブジェクトでなければなりません。このビジネス・オブジェクトは、前の tw.system.performRequest 呼び出しの応答から取り込まれるか、呼び出し側アプリケーションからの入力として取り込まれます。 アプリケーションでファイルを読み込むには、 ビューで使用できる JavaScript API を参照してください。
  • {object} auth: 使用する認証方式を示すオブジェクト。
    • {string} protocol: 認証プロトコル ("OIDC" と "BASIC" のいずれか)。
    • {string} username: BASIC プロトコルのユーザー名。
    • {string} password: BASIC プロトコルのパスワード。
  • {string} protocol: 使用する要求プロトコル ("https" (デフォルト) と "http" のいずれか)。
  • {string} hostname: ホスト名。
  • {numeric} port: ポート番号 (デフォルトは 443)。
  • {string} ctxRoot: (オプション) パスに接頭部として追加するコンテキスト・ルート (デフォルトは "")。
  • {object} headers: (オプション) HTTP ヘッダー。content-type を設定すると、ペイロードの取り扱いに影響します。 ブラウザー・フォームの実行依頼をシミュレートするには、content-type が multipart/form-data である必要があります。
  • {numeric} timeout: (オプション) 要求のタイムアウト値 (ミリ秒)。
  • {string} keySuffix: (オプション) リソースのセットから単一のリソースを動的に特定するために、アプリケーション・リソースに定義されている共通グループ・キーに付加されます。
  • {string} responseType: (オプション) 予期される応答タイプ。 これは binary でなければなりません。そうでないと、tw.system.performRequest がバイナリー応答を処理して、コールバック関数への応答オブジェクトとして DocumentFile ビジネス・オブジェクトを返すことはできません。 DocumentFile ビジネス・オブジェクトには、ファイルの内容を取得するためにビューで使用できる URL フィールドがあります。
  • {boolean} parseJSONResponse: (オプション) HTTP 要求が JSON 応答を返すときに callback 関数に渡される、応答オブジェクトを指定します。
    • true - 応答オブジェクトは、JSON ストリングを解析することにより作成される JavaScript オブジェクトです。
    • false - 応答オブジェクトは JSON ストリングです。
    • 未指定 (デフォルト) - content-type ヘッダーの値が application/json である場合、応答は解析されます。 content-header の値がより複雑な場合 (application/json; charset=UTF-8 など)、JSONストリングは解析されません。
{function} callback
成功応答を取り扱うコールバック関数。 この関数は、2 つのパラメーターをとります。最初のパラメーターは応答オブジェクトを表し、2 番目のパラメーターはステータス・コード、ヘッダーなどの追加情報を格納します。
{function} errorcallback
エラー・オブジェクトを表す単一のパラメーターを使用するエラー・コールバック関数。
tw.system.log(tw.system.model.name, tw.system.model.step.name, logString) tw.system.log API は、ログをブラウザー・コンソールに出力してサーバー・サイド・スクリプトをデバッグするために使用します。 再生サーバーを使用している場合、または実動アプリケーション・エンジンで BROWSER_LOG_LEVEL が 3 以上に設定されている場合は、ログがブラウザー・コンソールに出力されます。

最初の 2 つのパラメーターはそのままにして、3 番目のパラメーターにログ・ストリングを入力します。

{string} tw.system.model.name
現在のスクリプトが定義されている (または実行されている) アクションまたはネストされたアクションの名前。
{string} tw.system.model.step.name
実行されているサーバー・サイド・スクリプトの名前。
{string} logString
実行する特定のログ・ストリング。
tw.system.model() 現在のスクリプトが定義されている (または実行されている) アクションまたはネストされたアクション。
tw.system.jsonReplacer(key, value )

JavaScript オブジェクトをアクションに必要な JSON フォーマットに変換するために使用する JSON.stringify 置換プログラム。 データ・ストアからデータを取得した後のアプリケーション・データ・パーシスタンス・アクションに使用する必要があります リスト、日付、および validationErrors の特別処理が実行されます。

{string} key
文字列に変換されるキー。
{string} value
文字列にに変換される値。
tw.system.jsonReviver(key, value )

JSON ストリングを、アクションに必要な JavaScript オブジェクトに変換するために使用する JSON.parse リバイバー。 データ・ストアからデータを取得した後のアプリケーション・データ・パーシスタンス・アクションに使用できます。 リストおよび日付に特別処理が実行されます。

{string} key
構文解析中のキー。
{string} value
構文解析中の値。