REST API 範例的 Web 服務連接器工作流程指南

本文涵蓋範例 REST API 的部署,以使用 REST API Web 資料來源逐步完成 Web 服務設定工具。

必要條件

使用範例需要下列必要條件:

  • 已安裝 Web 服務設定工具。
  • 已部署 REST 資料來源範例服務。 從 (下載並安裝範例,請參閱這裡) 。

注意

JSON 資料必須包含具有包含陣列之屬性的單一物件。

{

"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 Project]。

    建立新的 REST 專案

  3. 選取左側的 [ REST] Project然後選取 [新增]。

    選取 REST 專案

  4. 在下一個頁面上,提供下列資訊:

    • 新的 web 服務名稱
    • 位址 (REST API URL 路徑)
    • 命名空間
    • 安全性模式 (驗證類型)

    REST 服務

    下列畫面顯示這些值的範例:

    REST 服務的範例值

    將 [ 安全性模式] 設定為 [ ]。 將 位址 設定為裝載在 Azure 中的範例 JSON 伺服器。

  5. 選取 [確定]。 Web 服務設定工具中列出的 REST 專案。

    Web 服務設定工具中的 REST 專案

  6. 下一步是定義 REST API 呼叫,並將呼叫轉譯為 (WCF) 呼叫 Windows Communication Foundation。

    1. 展開 [ REST Project ],然後選取 [ RESTSAMPLE ] 服務。

    2. 選取 [新增]。 系統會提示您新增兩個值:

      輸入 REST 服務的值

      1. 輸入 名稱。 此步驟在螢幕擷取畫面中會標示為3。
      2. 輸入 位址。 此步驟在螢幕擷取畫面中會標示為4。
      3. 選取 [確定]。 REST 資源會新增至 RESTSAMPLE 服務的描述。
  7. 在 [ 資源 ] 方塊中,選取您剛剛新增的 REST 資源。 新增下列方法:

    將 REST 方法新增至資源

  8. 選取 REST 方法。 請注意,您可以在相同的資源中建立多個方法,並定義在執行期間傳遞的查詢。

  9. 針對 GETALL 方法,不需要任何查詢。 將參數值保留空白。 匯出或匯入 REST API 時,您必須根據函式定義範例要求/或回應。 流覽至此範例時,請複製並貼上 JSON 傳回。

  10. 選取 [儲存]。 將專案儲存至 C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions

注意

儲存專案之後,就會產生 WsConfig 檔案。 設定檔包含多個稍早在 Web 服務總覽中定義的檔案。

設定 Web 服務設定工具中的物件類型

下列步驟會示範如何在 Web 服務設定工具中為您的資料來源設定物件類型。

  1. 下一步是定義連接器空間架構。 這是藉由建立物件類型和定義其物件類型來達成。 按一下左窗格中的 [ 物件類型 ],然後按一下 [ 加入 按鈕]。 這麼做會在畫面下方開啟。 加入新的物件類型,並提供名稱。 按一下 [確定] 按鈕。

  2. 加入物件類型會提供以下畫面。

  3. 對應至物件類型的右窗格可讓您維護所選物件類型的屬性和屬性。 按一下 [新增] 按鈕可提供以下畫面,其中一個可以加入屬性。

  4. 在新增所有必要的屬性之後,會出現下列畫面。

  5. 建立的物件類型和屬性會提供空白工作流程,以滿足 Microsoft Identity Manager (MIM) 中執行的作業。

在 Web 服務設定工具中設定工作流程

下一步是設定物件類型的工作流程。 工作流程檔案是 Web 服務連接器在執行時間使用的一系列活動。 工作流程是用來執行適當的 MIM 操作。 Web 服務設定工具可協助您建立四個不同的工作流程:

  • 匯入:從下列兩種類型的工作流程匯入資料來源的資料:

    • 完整匯入:可以設定的完整匯入。
    • 差異匯入: Web 服務設定工具不支援。
  • export:將資料從 MIM 匯出至連接的資料來源。 作業支援下列三個動作。 您可以根據您的需求來設定這些動作。

    • 刪除
    • 取代
  • 密碼:執行使用者 (物件類型) 的密碼管理。 這種作業可以使用兩個動作:

    • 設定密碼
    • 變更密碼
  • 測試連接:設定工作流程以檢查與資料來源伺服器的連接是否成功建立。

注意

您可以為您的專案設定這些工作流程,或從 Microsoft 下載中心下載預設專案。

工作流程設計工具

工作流程設計工具會開啟工作區,以根據需求設定工作流程。 針對每個物件類型 (新的/existing) ,設定工具會針對工具所支援的工作流程提供節點。

工作流程設計工具

工作流程設計工具是由下列 UI 元素所組成:

  • 左窗格中的節點:這些節點可協助您選取要設計哪個工作流程。

  • 中央工作流程設計工具:您可以在此卸載用於設定工作流程的活動。 您可以使用 .net workflow Framework 4 的標準和自訂工作流程活動,來完成各種 MIM 作業 (匯出、匯入、密碼管理) 。 Web 服務設定工具會使用標準和自訂工作流程活動。 如需標準活動的詳細資訊,請參閱 使用活動設計工具。

    • 在中央工作流程設計工具中,在任何活動旁加上驚嘆號的紅色圓圈表示作業已卸載,且未正確且完整地定義。 將滑鼠停留在紅色圓圈上,以找出確切的錯誤。 正確定義活動之後,紅色圓圈會變更為黃色的資訊標記。

    • 在中央工作流程設計工具中,任何活動旁的黃色三角形資訊標示會指出活動已定義,但您也可以完成此活動。 將滑鼠停留在黃色三角形上方以查看詳細資訊。

  • 工具箱:封裝所有工具,包括系統和自訂活動,以及預先定義的語句來設計工作流程。 如需詳細資訊,請參閱工具箱

  • 工具箱區段:工具箱具有下列區段和類別:

    • 描述:工具箱的標頭。 其中一個索引標籤會存取 [工具箱] 和所選取工作流程活動的屬性。

    • 入工作流程:設定匯入工作流程的自訂活動。

    • 匯出工作流程:設定匯出工作流程的自訂活動。

    • Common:設定任何工作流程的自訂活動。

    • Debug:工作流程4中定義之偵錯工具的系統工作流程活動。 這些活動可讓工作流程追蹤問題。

    • 語句:工作流程4中定義的系統工作流程活動。 如需詳細資訊,請參閱 使用活動設計工具。

  • [屬性]: [內容] 索引標籤會顯示在設計工具區域中卸載並選取之特定工作流程活動的屬性。 左邊的圖顯示 指派 活動的屬性。 針對每個活動,屬性會不同,而且會在設定自訂工作流程時使用。 此索引標籤可讓您定義已放入中央工作流程設計工具之所選工具的屬性。 如需詳細資訊,請參閱 屬性中定義的介面的私用 C++ 專屬實作。

  • 工作列: 工作列包含三個元素: 變數變數和匯 。 這些元素會與工作流程活動一起使用。 如需詳細資訊,請參閱《開發人員 Windows Workflow Foundation 在 .net 4 中 (WF) 的簡介

在 Web 服務設定工具中設定完整匯入工作流程

下列步驟示範如何使用 Web 服務設定工具來設定 REST API 的完整匯入工作流程。

警告

此範例只會建立工作流程。 可能需要修改工作流程,例如在 API 中使用自訂邏輯。

  1. 選取要設定的完整匯入工作流程。 引數和匯已定義,而且是活動特有的。 如需詳細資訊,請參閱下列畫面。

    完整匯入工作流程引數

    匯入的命名空間

    重新設定呼叫之後,您需要變更變更的屬性名稱,或將命名空間加入變數,以參考 API 的傳回結構和參考舊命名空間的物件類型。 右窗格中的 [工具箱] 會保留您設定所需的所有自訂工作流程特定活動。 將值指派給您要用於邏輯的變數。 移至中央工作流程設計工具的下半部,並宣告變數。 變數是在下一個步驟中宣告的。

  2. 新增序列活動。 將 [ Sequence ] 活動設計工具從 [工具箱] 拖曳至 [Windows 工作流程設計工具介面]。 請參閱下列畫面。 Sequence活動包含依序執行之子活動的已排序集合。

    Sequence 活動

  3. 若要加入變數,請找出 Create variable。 輸入 wsResponse 作為 [ 名稱],選取 [ 變數類型 ] 下拉式清單,然後選取 [流覽類型]。 對話方塊隨即顯示。 選取 [產生GETALL回應]。 讓 範圍 和預設值保持未選取 狀態 。 或者,使用 [ 屬性 ] 視圖來設定這些值。

    預設回應

  4. 從 [工具箱] 中的 [序列] 活動中,拖曳一個 [序列] 活動設計工具

  5. 拖曳 [一般] 底下顯示的 WebServiceCallActivity 此活動用來叫用探索之後可用的 Web 服務作業。 這是自訂活動,在不同的作業案例中很常見。

    服務名稱操作

    若要使用 Web 服務作業,請設定下列屬性:

    • 服務名稱:輸入 web 服務的名稱。

    • 端點名稱:指定所選服務的端點名稱。

    • 作業名稱:指定服務的個別作業。

    • 引數: Select 引數。 在下一個對話方塊中,指派引數的值,如下圖所示:

      指派引數

      重要

      請勿使用這個對話方塊變更引數的 名稱方向類型 。 如果這些值有任何變更,活動就會變成無效。 只設定引數的 。 如下圖所示,已設定 wsResponse 值。

  6. ForEach 活動新增到 WebServiceCallActivity 的 正下方。這個活動是用來反復查看所有屬性, (物件類型的錨點和非錨點) 。 將此活動拖曳至工作流程設計工具介面時,它會自動列舉物件的所有屬性名稱。 根據下列畫面設定必要值:

    Web 服務呼叫活動

  7. 在某些情況下,您可能需要開啟 WsConfig 檔案內的 generated.dll。 複製這個 WsConfig 檔,並使用 .zip 的副檔名來重新命名。 使用您慣用的 .NET 反映工具,開啟並解壓縮 generated.dll。

    組態檔

  8. 識別 employeelist.xaml的公用命名空間:

    員工清單代碼

    接下來,將此回送至工作流程 ForEach

    將員工清單新增至 ForEach 工作流程

  9. CreateCSEntryChangeScope 活動拖曳至 ForEach 主體內。 此活動是用來在工作流程網域中,為每個個別記錄建立 CSEntryChange 物件的實例,同時從目標資料來源抓取資料。 拖曳此活動可提供以下畫面。 系統會自動繼承CreateAnchorAttribute活動。 將 DN 值更新為您慣用的功能變數名稱。

    建立 CS 專案變更範圍活動

    注意

    錨點值和物件名稱會根據公開的 web 服務而有所不同。 此圖顯示範例。

  10. CreateAttributeChange 活動拖曳至 [ CreateAnchorAttribute ] 活動下方。 要拖曳的活動數目等於非錨點屬性的數目。 請參閱下圖以取得參考。

    建立錨點

    注意

    若要使用此活動,請從下拉式清單中挑選並指派個別的欄位,然後指派值。 若為多重值屬性,請卸載CreateAttributeChangeActivity活動內的多個CreateValueChangeActivity活動。

  11. 將此專案儲存在位置 %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions 。 然後設定管理代理程式,如 Web SERVICE MA設定中所述。

    儲存 REST 專案

    您應該下載預設專案,並將其儲存在 %FIM_INSTALL_DIR\2010\Synchronization Service\Extensions 目標系統上的位置。 然後您就可以在 web 服務連接器的 wizard 中看到這些專案。

    執行可執行檔時,系統會提示您指定安裝的位置。 輸入儲存位置。

    重要

    您可以使用其執行程式) 的適當存取權限,從任何位置儲存並開啟專案檔 (。 只有儲存到資料夾的專案檔 Synchronization Service\Extension 可以在 Web 服務連接器的 wizard 中選取,此瀏覽器會透過 MIM 同步處理 UI 來存取。

    正在執行 Web 服務設定工具的使用者需要下列許可權:

    • 對同步處理服務延伸資料夾的完整控制權。
    • 登錄機碼的讀取權限 HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters ,擴充功能資料夾路徑位於此。

下一步