RESTful サービス アクティビティの構成
RESTful サービス アクティビティを構成するには、次の手順を実行します。
RESTful サービス アクティビティを使用するには、最初に RESTful サービス参照を設定する必要があります。Web サービス レファレンスの作成を参照してください。
-
マップにアクティビティの追加をします。
デフォルトでは、アクティビティの [プロパティ] パネルで [構成] タブが開きます。
- アクティビティのデフォルトの [名前] を意味のある名前に変更します。
- [タイプ] リストで、 を選択します。
-
[Web サービス] リストで、次のいずれかを実行します。
- 必要に応じて、事前構成された RESTful Web サービス参照を選択します。
選択した RESTful サービスに応じて、事前構成された [ベース URL] が表示されます。また、RESTful サービスで定義されたカスタム ヘッダーが [カスタム ヘッダー] の下に表示されます。
- 事前構成された RESTful Open API Web サービスを選択します。Web サービス レファレンスの作成を参照してください。
[パラメータ] の [構成] リンクが使用可能になります。[構成] をクリックして、選択した RESTful サービスの統合で事前構成されたベース URL を表示します。クラスを選択すると、選択したクラスで使用可能なメソッドが表示されます。インライン値/変数をパラメータにマッピング可能なパラメータおよびパラメータ タイプを表示する方法を選択します。また、RESTful サービスで定義されたカスタム ヘッダーが [カスタム ヘッダー] の下に表示されます。
-
ドキュメントのバイナリ コンテンツを (ドキュメント インスタンス ID の代わりに) オプションで使用できるようにするには、ドキュメント変数を入力または出力としてバイナリ ストリームまたはバイト配列型パラメータにマップし、MIME の種類を指定します。ドキュメントのバイナリ データは、さまざまな MIME タイプ (PDF、TIFF、JPEG など) にすることができます。したがって、バイナリ データの MIME の種類を指定して、実行時にキャプチャ ドキュメント コンテンツで正しく取得または更新する必要があります。
-
ドキュメント変数が文字列変数型にマップされている場合、バイナリ データをインスタンス ID ではなく base64 文字列として指定することで、ドキュメントを取得または更新できます。ドキュメント変数が入力または出力として文字列変数にマップされている場合、[base64 文字列形式のデータ] または [インスタンス ID] オプションを使用できます。デフォルトでは、[インスタンス ID] がマッピング タイプとして選択されています。データが base64 文字列として設定されている場合は、MIME の種類を指定する必要があります。指定された MIME の種類がドキュメントで使用できない場合、システムは実行時にエラーを報告します。
RESTful サービス アクティビティを実行すると、入力パラメータの場合、ドキュメント データが読み取られ、マップされた API パラメータに byte[] またはバイナリ ストリームとして渡されます。出力パラメータの場合、ドキュメント データは指定された byte[] またはストリームから設定されます。ドキュメント変数が既存のキャプチャ ドキュメントを指している場合、古いドキュメント データを更新する代わりに、新しいドキュメントが作成されます。
TotalAgility でサポートされている MIME の種類を参照してください。「XLT」MIME タイプは、RESTful サービス アクティビティには適用できません。
-
- 必要に応じて、事前構成された RESTful Web サービス参照を選択します。
-
必要に応じて、[Web サービス] リストで事前構成済みの RESTful Web サービス リファレンスを選択します。
選択した RESTful サービスに応じて、[ベース URL] が表示されます。また、RESTful サービスで定義されたカスタム ヘッダーが [カスタム ヘッダー] の下に表示されます。
Web サービス レファレンスをホワイトリストに登録できます。システム設定で「すべて許可」が選択されていない場合は、ホワイトリストに登録された Web サービス レファレンスのみを使用できます。サーバー URL とデータベース接続文字列の構成を参照してください。 -
この項目は任意です。次のいずれかを実行して、[URL パラメータ] (返される結果に影響を及ぼす文字列型のパラメータ) を指定します。
-
静的なパラメータを指定するには、必要なテキストを入力します。
-
実行時に関連情報を動的に取得し、その情報をユーザーに対して表示するには、URL パラメータ ルール エディタを右クリックし、プロセス変数またはサーバー変数を選択します。
-
固定テキストと動的な値の組み合わせを使用します。
ベース URL パラメータをコピーして別の RESTful サービスのベース URL パラメータに貼り付けると、ベース URL パラメータを再利用できます。
-
- [メソッド] リストで、実行する次のアクションを選択します。GET、DELETE、POST、PUT (デフォルト: GET)
-
返されたステータス コードの処理方法を指定するには、[エラー時にジョブを一時停止] に対して次のいずれかを実行します。(デフォルト: クリア)
-
チェック ボックスをオフのままにして、[エラー コード] リストでプロセス変数またはサーバー変数を選択します。
エラーが検出された場合でもジョブは完了します。ランタイムに、選択されたエラー コードが表示されます。これは、ユーザーがエラーを手動で処理するのに役立ちます。
-
チェック ボックスを選択します。
エラーが見つかった場合、ジョブは一時停止されます。
-
- プロセス マップを [保存] します。
データを取得または削除する
データを取得および削除するように Restful サービス アクティビティを構成できます。情報を取得する要求により、JSON または XML 形式のいずれかで応答が返されます。出力全体を、文字列型、XML 型、またはデータ オブジェクト変数型の単一の変数に格納できます。応答が JSON である場合は、データ オブジェクト変数を使用して戻り値を保持できます。データ オブジェクトの単一フィールドを使用して、SlackUserDetails などの要求/応答を構成できます。ID を URL パラメータとして使用するか、列/行のリストである SlackUserDetails.Channels を使用します。
アクションが完了すると、返されたデータがオブジェクトのフィールドと配列に入力されます。これらの値は、実行時またはデバッグ時に表示することができます。アクティビティに関する次の情報が表示されます。ノード ID、ステータス、タイプ、自動、実行日時、実行者、期間、要求の URL、要求の本文、要求のヘッダー、応答の本文。
-
[URL]: クエリ文字列パラメータを含めて、実行された URL を表示します。
-
[要求のヘッダー]: カスタム ヘッダーを含めて、サービスに渡されたヘッダーを表示します。これらは、システム レベルで REST サービス統合を設定するときに定義することができ、アクティビティ レベルで上書きされます。
-
[要求の本文]: アクティビティの構成に応じて、XML または JSON 形式で要求の本文を表示します。本文がない場合は (たとえば、GET 要求に本文がない場合は)、「なし」と表示されます。
-
[応答の本文] (HTTP コードを含む): アクティビティの構成に応じて応答を XML または JSON 形式で表示するほかに、HTTP ステータス コードを表示します。
「エラー時にジョブを一時停止」が選択されている場合、そのアクティビティの要求の URL、要求の本文、要求のヘッダー、および応答の本文の情報は、プロセスのデバッグ中には表示されません。
モデルの構造と応答が一致するのが理想的です。ただし、構造が一致しない場合は、返されたデータ内の一致するフィールドおよびデータ オブジェクト構造内の一致するフィールドのみが入力されます。
-
応答内のデータと一致するフィールドがデータ オブジェクト構造に存在しない場合、そのデータは無視されます。
-
また、データ オブジェクト構造のフィールドと一致するものが応答内に存在しない場合、それも無視されます。
データを取得または削除するには、次の手順を実行します。
- [タイプ] として [XML] または [JSON] を選択します。(デフォルト: XML)
-
Web サービス参照の作成時に定義したカスタム ヘッダーとそのデフォルト値は、[カスタム ヘッダー] の下に表示されます。カスタム ヘッダーのデフォルト値を編集するには、次の手順を実行します。
- 行をダブル クリックするか、行を選択して、 をクリックします。
- [値] で動的変数を選択するか、 をクリックして静的な値を入力します。
- [OK] をクリックします。プロセスでジョブが作成されると、定義されたカスタム値がサードパーティの Web サービスに渡されます。このアクティビティにマッピング値またはインライン値が指定されていない場合、RESTful サービス定義で定義したデフォルト値が使用されます。
-
[応答タイプ] リストで次のいずれかを選択します。
[変数] (デフォルト) を選択し、[値] リストでプロセス変数またはサーバー変数を選択して、出力全体を文字列タイプまたは XML タイプの単一の変数にマップします。データ オブジェクト変数を使用して、サービスからの応答を受信し、それを変数に格納できます。
データ オブジェクト変数またはデータ オブジェクト変数の特定のフィールドをマッピングすることができます。
[式] を選択して次の手順を実行します。
-
をクリックします。
-
式から抽出する要素を定義するには、正しい [パス] を指定します。
-
応答が XML の場合は xPath を使用します。
-
応答が JSON の場合は JSONPath を使用します。
-
-
[値] リストで、プロセス変数またはサーバー変数を選択します。
-
[追加] をクリックします。
-
データを挿入または更新する
データを挿入および更新するように Restful サービス アクティビティを構成できます。POST/PUT の場合、要求と応答をデータ オブジェクト変数にマッピングできます。この要求は、REST API 呼び出しに渡される前に 1 つの要求として結合される複数のオブジェクトを受け入れます。
SlackUserDetails.Id を URL パラメータとして使用したり、応答の式を使用してデータを入力したりするなど、データ オブジェクトの単一フィールドを使用して要求/応答を構成できます。
データを挿入または更新するには、次の手順を実行します。
- [タイプ] として [XML] または [JSON] を選択します。(デフォルト: XML)
-
Web サービス レファレンスの作成時に定義されたカスタム ヘッダーとそのデフォルト値は、[カスタム ヘッダー] の下に表示されます。カスタム ヘッダーのデフォルト値を編集するには、次の手順を実行します。
- 行をダブル クリックするか、行を選択して、 をクリックします。
-
[値] で動的変数を選択するか、 をクリックして静的な値を入力します。
-
[OK] をクリックします。
プロセスでジョブが作成されると、定義されたカスタム値がサード パーティの Web サービスに渡されます。このアクティビティにマッピング値またはインライン値が指定されていない場合、RESTful サービス定義で定義したデフォルト値が使用されます。
-
[リクエスト] ルール エディタを右クリックして、プロセス変数またはサーバー変数を選択します。
データ オブジェクト変数またはその特定のフィールドを使用して、サービスに要求を送信できます。
-
[応答タイプ] リストで次のいずれかを選択します。
-
[変数] (デフォルト) を選択し、[値] リストでプロセス変数またはサーバー変数を選択して、出力全体を文字列タイプまたは XML タイプの単一の変数にマップします。データ オブジェクト変数を使用して、サービスからの応答を受信し、それを変数に格納できます。
データ オブジェクト変数またはデータ オブジェクト変数の特定のフィールドをマッピングすることができます。
-
[式] を選択して次の手順を実行します。
-
をクリックします。
-
式から抽出する要素を定義するには、正しい [パス] を指定します。
-
[値] リストで、プロセス変数またはサーバー変数を選択します。
-
[追加] をクリックします。
-
-
別の RESTful サービスの PUT および POST メソッドに要求をコピーして貼り付けることで、要求を再利用できます。