次の方法で共有


REST API サンプルの Web Service Connector ワークフロー ガイド

この記事では、REST API Web データ ソースを使用して Web サービス構成ツールを実行するためのサンプル REST API のデプロイについて説明します。

前提条件

サンプルを使用するには、次の前提条件が必要です。

  • Web サービス構成ツールがインストールされています。
  • REST データ ソース サンプル サービスがデプロイされます。 からサンプルをダウンロードしてインストールします (こちらを参照)。

注意

JSON データには、配列を含むプロパティを持つ 1 つのオブジェクトが含まれている必要があります。

{

"EmployeeList":[

{"id":"1","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""},{"id":"2","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""}

]

}

Web サービス構成ツールで REST プロジェクト検出を構成する

次の手順では、Web サービス構成ツールでデータ ソースの新しいプロジェクトを作成する方法を示します。

  1. Web サービス構成ツールを開きます。 空の SOAP プロジェクトが開きます。

    Web サービス構成ツール

  2. [ファイル]> [新しい>REST プロジェクト] の順に選択します。

    新しい REST プロジェクトを作成する

  3. 左側の [ REST Project ] を選択し、[ 追加] を選択します。

    REST プロジェクトを選択する

  4. 次に表示されるページで、次の情報を指定します。

    • 新しい Web サービス名
    • アドレス (REST API URL パス)
    • 名前空間
    • セキュリティ モード (認証の種類)

    REST サービス

    次の画面は、これらの値の例を示しています。

    REST サービスの値の例

    [セキュリティ モード] を [なし] に設定します。 [アドレス] を、Azure でホストされているサンプル JSON サーバーに設定します。

  5. [OK] を選択します。 Web サービス構成ツールに一覧表示されている REST プロジェクト。

    Web サービス構成ツールの REST プロジェクト

  6. 次の手順では、REST API 呼び出しを定義し、その呼び出しを Windows Communication Foundation (WCF) 呼び出しに変換します。

    1. REST プロジェクトを展開し、RESTSAMPLE サービスを選択します。

    2. [追加] を選択します。 次の 2 つの値を追加するように求められます。

      REST サービスの値を入力する

      1. 名前を入力します。 この手順のスクリーンショットでは、3 というラベルが付けられます。
      2. [アドレス] を入力します。 この手順のスクリーンショットでは、4 というラベルが付けられます。
      3. [OK] を選択します。 REST リソースが RESTSAMPLE サービスの説明に追加されます。
  7. [ リソース ] ボックスで、先ほど追加した REST リソースを選択します。 次のメソッドを追加します。

    REST メソッドをリソースに追加する

  8. REST メソッドを選択します。 同じリソースに複数のメソッドを作成し、実行中に渡されるクエリを定義することができます。

  9. GETALL メソッドの場合、クエリは必要ありません。 パラメーター値は空白のままにします。 REST API をエクスポートまたはインポートする場合は、関数に応じてサンプル要求 /または応答を定義する必要があります。 このサンプルに移動するときに、JSON return をコピーして貼り付けます。

    Web サービス構成ツールの [REST メソッド] ページのスクリーンショット。

  10. [保存] を選択します。 プロジェクトを に C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions保存します。

注意

プロジェクトが保存されると、WsConfig ファイルが生成されます。 構成ファイルには、Web サービスの概要で前に定義した複数のファイルが含まれています。

Web サービス構成ツールでオブジェクトの種類を構成する

次の手順では、Web サービス構成ツールでデータ ソースのオブジェクトの種類を構成する方法を示します。

  1. 次の手順では、コネクタ スペース スキーマを定義します。 これは、オブジェクト型を作成し、そのオブジェクト型を定義することによって実現されます。 左側のウィンドウで [ オブジェクトの種類 ] をクリックし、[ 追加 ] ボタンをクリックします。 これを行うと、画面の下に開きます。 新しいオブジェクトの種類を追加し、名前を指定します。 [OK] をクリックします。

    オブジェクトの種類を作成するためのダイアログ ボックスを示すスクリーンショット。

  2. オブジェクトの種類を追加すると、以下の画面が表示されます。

    新しいオブジェクトの種類が追加されていることを示すスクリーンショット。

  3. オブジェクトの種類に対応する右側のペインでは、選択したオブジェクトの種類の属性とそのプロパティを維持できます。 [追加] ボタンをクリックすると、属性を追加できる画面が表示されます。

    オブジェクトの種類に属性を追加するページを示すスクリーンショット。

    [名前] と [種類] の属性フィールドを示すスクリーンショット。

  4. 必要なすべての属性を追加すると、画面の下に表示されます。

    オブジェクト型の完成した属性を示すスクリーンショット。

  5. オブジェクトの種類と属性が作成されると、Microsoft Identity Manager (MIM) で実行される操作に対応する空のワークフローが提供されます。

Web サービス構成ツールでワークフローを構成する

次の手順では、オブジェクトの種類のワークフローを構成します。 ワークフロー ファイルは、実行時に Web サービス コネクタによって使用される一連のアクティビティです。 ワークフローは、適切な MIM 操作を実装するために使用されます。 Web サービス構成ツールを使用すると、次の 4 つの異なるワークフローを作成できます。

  • インポート: 次の 2 種類のワークフローのデータ ソースからデータをインポートします。

    • 完全インポート: 構成できる完全インポート。
    • 差分インポート: Web サービス構成ツールではサポートされていません。
  • エクスポート: MIM から接続されたデータ ソースにデータをエクスポートします。 操作では、次の 3 つのアクションがサポートされています。 これらのアクションは、要件に基づいて構成できます。

    • 追加
    • 削除
    • Replace
  • パスワード: ユーザーのパスワード管理を実行します (オブジェクトの種類)。 この操作には、次の 2 つのアクションを使用できます。

    • パスワードの設定
    • パスワードの変更
  • 接続のテスト: データ ソース サーバーとの接続が正常に確立されたかどうかを確認するようにワークフローを構成します。

注意

これらのワークフローは、プロジェクト用に構成することも、Microsoft ダウンロード センターから既定のプロジェクトをダウンロードすることもできます。

ワークフロー デザイナー

ワークフロー デザイナーによって作業領域が開き、要件に従ってワークフローが構成されます。 すべてのオブジェクトの種類 (新しい /既存) に対して、構成ツールは、ツールでサポートされているワークフローのノードを提供します。

ワークフロー デザイナー

ワークフロー デザイナーは、次の UI 要素で構成されます。

  • 左側のウィンドウのノード: これらは、どのワークフローを設計するかを選択するのに役立ちます。

  • 中央ワークフロー デザイナー: ここでは、ワークフローを構成するためのアクティビティを削除できます。 さまざまな MIM 操作 (エクスポート、インポート、パスワード管理) を実行するには、.NET Workflow Framework 4 の標準およびカスタム ワークフロー アクティビティを使用できます。 Web サービス構成ツールでは、標準ワークフロー アクティビティとカスタム ワークフロー アクティビティが使用されます。 標準アクティビティの詳細については、「 アクティビティ デザイナーの使用」を参照してください。

    • 中央ワークフロー デザイナーでは、アクティビティの横に感嘆符が付いた赤い円は、操作が削除され、正しく完全に定義されていないことを示します。 赤い円の上にカーソルを合わせると、正確なエラーが見つかります。 アクティビティが正しく定義されると、赤い円が黄色の情報マークに変わります。

    • 中央ワークフロー デザイナーでは、アクティビティの横に黄色の三角形の情報マークが表示され、アクティビティが定義されていることを示しますが、アクティビティを完了するために実行できる操作は他にもあります。 黄色の三角形にカーソルを合わせると、詳細が表示されます。

  • ツールボックス: ワークフローを設計するために、システムおよびカスタム アクティビティや定義済みのステートメントを含むすべてのツールをパッケージ化します。 詳細については、「ツールボックス」をご覧ください。

  • ツールボックス セクション: ツールボックスには、次のセクションとカテゴリがあります。

    • 説明: ツールボックスのヘッダー。 1 つのタブから、選択したワークフロー アクティビティのツールボックスとプロパティにアクセスします。

    • インポート ワークフロー: インポート ワークフローを構成するためのカスタム アクティビティ。

    • エクスポート ワークフロー: エクスポート ワークフローを構成するためのカスタム アクティビティ。

    • 共通: ワークフローを構成するためのカスタム アクティビティ。

    • デバッグ: ワークフロー 4 で定義されたデバッグ用のシステム ワークフロー アクティビティ。 これらのアクティビティを使用すると、ワークフローの問題の追跡が可能になります。

    • ステートメント: ワークフロー 4 で定義されたシステム ワークフロー アクティビティ。 詳細については、「 アクティビティ デザイナーの使用」を参照してください。

  • プロパティ: [プロパティ] タブには、デザイナー領域にドロップされ、選択された特定のワークフロー アクティビティのプロパティが表示されます。 左側の図は 、Assign アクティビティのプロパティを示しています。 アクティビティごとにプロパティが異なり、カスタム ワークフローの構成中に使用されます。 このタブを使用すると、中央ワークフロー デザイナーにドロップされた選択したツールの属性を定義できます。 詳細については、「 プロパティで定義されているインターフェイスのプライベート C++ 固有の実装です。

  • タスク バー: タスク バーには、 変数、引数、インポート 3 つの要素 が含まれています。 これらの要素は、ワークフロー アクティビティと共に使用されます。 詳細については、「 .NET 4 の Windows Workflow Foundation (WF) の開発者向け概要」を参照してください。

Web サービス構成ツールで完全インポート ワークフローを構成する

次の手順では、Web サービス構成ツールを使用して REST API の完全インポート ワークフローを構成する方法を示します。

警告

このサンプルでは、ワークフローのみを作成します。 API でカスタム ロジックを使用するなど、ワークフローに対する変更が必要な場合があります。

  1. 構成するフル インポート ワークフローを選択します。 引数とインポートは既定義されており、アクティビティに固有です。 詳細については、次の画面を参照してください。

    完全インポート ワークフロー引数

    [インポートされた名前空間]

    呼び出しを再構成した後、変更する属性の名前を変更するか、API の戻り構造を参照する変数と、古い名前空間を参照するオブジェクト型に名前空間を追加する必要があります。 右側のウィンドウのツールボックスには、構成に必要なすべてのカスタム ワークフロー固有のアクティビティが保持されます。 ロジックに使用する変数に値を割り当てます。 中央ワークフロー デザイナーの下部セクションに移動し、変数を宣言します。 変数は、次の手順で宣言します。

  2. Sequence アクティビティを追加します。 [ツールボックス] から Sequence アクティビティ デザイナーをドラッグし、Windows ワークフロー デザイナー画面にドロップします。 次の画面を参照してください。 Sequence アクティビティには、順番に実行される子アクティビティの順序付けられたコレクションが含まれています。

    シーケンス アクティビティ

  3. 変数を追加するには、 変数の作成を見つけます。 [名前]「wsResponse」と入力し、[変数の種類] ドロップダウンを選択し、[型の参照] を選択します。 ダイアログが表示されます。 生成された>GETALL> 応答を選択します[スコープ] と [既定値] はオフのままにします。 または、[ プロパティ] ビューを使用してこれらの値を設定します。

    既定の応答

  4. 既に追加されている Sequence アクティビティ内の ツールボックス からもう 1 つの Sequence アクティビティ デザイナーをドラッグします。

  5. [共通] の下に表示される WebServiceCallActivity をドラッグします。このアクティビティは、探索後に使用可能な Web サービス操作を呼び出すために使用されます。 これはカスタム アクティビティであり、さまざまな操作シナリオで一般的です。

    サービス名の操作

    Web サービス操作を使用するには、次のプロパティを設定します。

    • サービス名: Web サービスの名前を入力します。

    • [エンドポイント名]: 選択したサービスのエンドポイント名を指定します。

    • 操作名: サービスのそれぞれの操作を指定します。

    • 引数: [ 引数] を選択します。 次のダイアログで、次の図に示すように、引数の値を割り当てます。

      引数を割り当てる

      重要

      このダイアログを使用して、引数の 名前方向、または を変更しないでください。 これらの値のいずれかが変更されると、アクティビティは無効になります。 引数の Value のみを設定します。 この図に示すように、 値 wsResponse が設定されます。

  6. WebServiceCallActivity のすぐ下に ForEach アクティビティを追加します。このアクティビティは、オブジェクト型のすべての属性 (アンカーとアンカー以外の両方) を反復処理するために使用されます。 このアクティビティをワークフロー デザイナー画面にドラッグすると、オブジェクトのすべての属性名が自動的に列挙されます。 次の画面に従って、必要な値を設定します。

    Web サービス呼び出しアクティビティ

  7. 場合によっては、WsConfigファイル内のgenerated.dllを開く必要があります。 この WsConfig ファイルをコピーし、.zip拡張子で名前を変更します。 任意の .NET リフレクター ツールを使用して、generated.dllを開いて抽出します。

    config ファイル

  8. EmployeeList のパブリック名前空間を特定します。

    従業員一覧コード

    次に、この戻り値をワークフロー ForEach に追加します。

    ForEach ワークフローに従業員リストを追加する

  9. CreateCSEntryChangeScope アクティビティをForEach 本文内にドラッグします。 このアクティビティは、ターゲット データ ソースからデータを取得するときに、各レコードのワークフロー ドメインに CSEntryChange オブジェクトのインスタンスを作成するために使用されます。 このアクティビティをドラッグすると、画面の下に表示されます。 CreateAnchorAttribute アクティビティは自動的に継承されます。 DN 値を優先ドメイン名に更新します。

    CS エントリ変更スコープ アクティビティを作成する

    注意

    アンカー値とオブジェクト名は、公開されている Web サービスによって異なります。 図は例を示しています。

  10. CreateAttributeChange アクティビティを CreateAnchorAttribute アクティビティの下にドラッグします。 ドラッグするアクティビティの数は、アンカー以外の属性の数と等しくなります。 参照については、次の図を参照してください。

    アンカーを作成する

    注意

    このアクティビティを使用するには、ドロップダウンからそれぞれのフィールドを選択して割り当て、値を割り当てます。 複数値の属性の場合は、CreateAttributeChangeActivity アクティビティ内に複数の CreateValueChangeActivity アクティビティを削除します。

  11. このプロジェクトを の場所 %FIM_INSTALL_FOLDER%\Synchronization Service\Extensionsに保存します。 次に、「Web サービス MA 構成」の説明に従って管理エージェント を構成します

    REST プロジェクトを保存する

    既定のプロジェクトは、ターゲット システム上の場所 %FIM_INSTALL_DIR\2010\Synchronization Service\Extensions にダウンロードして保存する必要があります。 その後、プロジェクトは Web サービス コネクタ ウィザードに表示されます。

    実行可能ファイルを実行すると、インストールの場所を指定するように求められます。 保存場所を入力します。

    重要

    プロジェクト ファイルは、(Executor の適切なアクセス特権を持つ) 任意の場所から保存して開くことができます。 フォルダーに Synchronization Service\Extension 保存されているプロジェクト ファイルのみを、MIM 同期 UI を介してアクセスする Web サービス コネクタ ウィザードで選択できます。

    Web サービス構成ツールを実行しているユーザーには、次の特権が必要です。

    • 同期サービス拡張機能フォルダーに対するフル コントロール。
    • 拡張機能フォルダーのパスが配置されているレジストリ キー HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters への読み取りアクセス。

次のステップ