Web 服务连接器工作流指南,REST API示例

本文介绍如何部署一个示例REST API演练 Web 服务配置工具REST API 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 调用,将调用转换为 WINDOWS Communication Foundation (WCF) 调用。

    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 服务配置工具不支持。
  • 导出:将数据从MIM导出到连接的数据源。 操作支持以下三个操作。 你可以根据要求配置这些操作。

    • 添加
    • 删除
    • Replace
  • 密码:为用户执行密码管理 (对象类型) 。 此操作有两个操作可用:

    • 设置密码
    • 更改密码
  • 测试连接:配置工作流以检查与数据源服务器的连接是否成功建立。

注意

你可以为项目配置这些工作流,也可以从 Microsoft 下载中心下载 默认项目

工作流设计器

该工作流设计器打开工作区,以根据要求配置工作流。 对于新的 /existing (对象类型) ,配置工具为工具支持的工作流提供节点。

工作流设计器

该工作流设计器由以下 UI 元素组成:

  • 左窗格中的节点:这些节点可帮助你选择要设计哪个工作流。

  • 中心工作流设计器:可在此处删除用于配置工作流的活动。 若要完成MIM导出 (导入、密码管理) 操作,可以使用 .NET Workflow Framework 4 的标准和自定义工作流活动。 Web 服务配置工具使用标准工作流活动和自定义工作流活动。 有关标准活动的详细信息,请参阅 使用活动设计器

    • 在中央工作流设计器中,任何活动旁带有惊叹号的红色圆圈都表示操作已删除且未正确地定义。 将鼠标悬停在红色圆圈上可找出具体的错误。 正确定义活动后,红色圆圈将更改为黄色信息标记。

    • 在中央工作流设计器中,任何活动旁都有一个黄色三角信息标记,指示已定义该活动,但还有更多的操作可以完成该活动。 将鼠标悬停在黄色三角形上可查看详细信息。

  • 工具箱:打包包含系统和自定义活动的所有工具,以及用于设计工作流的预定义语句。 有关详细信息,请参阅工具箱

  • 工具箱部分:工具箱包含以下部分和类别:

    • 说明:工具箱的标头。 一个选项卡将访问所选工作流活动的 "工具箱" 和 "属性"。

    • 导入工作流:用于配置导入工作流的自定义活动。

    • 导出工作流:用于配置导出工作流的自定义活动。

    • 常见:用于配置任何工作流的自定义活动。

    • 调试:工作流中定义的用于调试的系统工作流活动。 这些活动允许对工作流进行问题跟踪。

    • 语句:工作流4中定义的系统工作流活动。 有关详细信息,请参阅 使用活动设计器

  • "属性": "属性" 选项卡显示在设计器区域中删除并选定的特定工作流活动的属性。 左侧的图形显示了 Assign 活动的属性。 对于每个活动,属性都不同并在配置自定义工作流时使用。 此选项卡允许你定义已放入中央工作流设计器的所选工具的属性。 有关详细信息,请参阅 属性

  • 任务栏: 任务栏包括三个元素: 变量参数导入。 这些元素与工作流活动一起使用。 有关详细信息,请参阅开发人员介绍 .net 4 (WF) Windows Workflow Foundation

在 Web 服务配置工具中配置完全导入工作流

以下步骤演示如何使用 Web 服务配置工具为 REST API 配置完全导入工作流。

警告

此示例仅创建工作流。 可能需要对工作流进行修改,如在 API 中使用自定义逻辑。

  1. 选择要配置的完整导入工作流。 自变量导入已定义,并特定于活动。 有关详细信息,请参阅下面的屏幕。

    完全导入工作流参数

    导入的命名空间

    重新配置调用之后,需要更改属性的名称,或将命名空间添加到引用 API 返回结构的变量或引用旧命名空间的对象类型。 右窗格中的 "工具箱" 包含配置所需的所有特定于工作流的自定义活动。 为要用于逻辑的变量分配值。 请参阅中央工作流设计器的底部,并声明变量。 在下一步中声明变量。

  2. 添加 "序列" 活动。 将 " Sequence " 活动设计器从 "工具箱" 拖放到 Windows 工作流设计器图面上。 请参阅下面的屏幕。 序列活动包含按顺序执行的子活动的有序集合。

    Sequence 活动

  3. 若要添加变量,请找到 Create variable。 键入 " wsResponse " 作为 " 名称",选择 " 变量类型 " 下拉箭头,然后选择 " 浏览类型"。 随即显示一个对话框。 选择 "生成GETALL响应"。 保持 " 范围 " 和 "默认值" 处于未选中 状态 。 或者,通过使用 " 属性 " 视图设置这些值。

    默认响应

  4. 将 " 序列 " 活动设计器从 " 工具箱 " 中的 "已添加" 序列活动中拖放。

  5. 拖动 "常见" 下提供的 WebServiceCallActivity 此活动用于调用发现后可用的 Web 服务操作。 这是一个自定义活动,在不同的操作方案中很常见。

    服务名称操作

    若要使用 Web 服务操作,请设置以下属性:

    • 服务名称:输入 web 服务的名称。

    • 终结点名称:指定所选服务的终结点名称。

    • 操作名称:为服务指定相应的操作。

    • 参数:选择 参数。 在下一个对话框中,分配参数值,如下图所示:

      分配参数

      重要

      不要使用此对话框更改参数的 名称方向类型 。 如果更改了这些值中的任何一个,则活动将变为无效。 仅设置参数的 。 如图所示,设置值 wsResponse

  6. 添加一个紧靠 WebServiceCallActivity 下面的 ForEach 活动 此活动用于循环访问所有特性 (对象类型的定位点和非定位点) 。 将此活动拖到工作流设计器图面时,它会自动枚举对象的所有属性名称。 根据以下屏幕设置所需的值:

    Web 服务调用活动

  7. 在某些情况下,可能需要打开 WsConfig 文件中的 generated.dll。 复制此 WsConfig 文件,并将其重命名为 .zip 扩展名。 使用首选的 .NET 反射器工具打开并提取 generated.dll。

    配置文件

  8. 标识 employeelist.xaml的公共命名空间:

    员工列表代码

    接下来,将此返回内容添加到工作流 ForEach

    向 ForEach workflow 添加员工列表

  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 服务连接器向导中可见。

    运行可执行文件时,系统会提示你指定安装位置。 输入保存位置。

    重要

    项目文件可以从任何位置保存和打开, (其执行程序角色拥有适当的) 。 在 Web 服务连接器向导中,只能选择保存到文件夹的项目文件,该向导可通过 MIM Synchronization Service\Extension UI 访问。

    运行 Web 服务配置工具的用户需要以下权限:

    • 同步服务扩展文件夹的完全控制。
    • 对"扩展文件夹路径 HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters "所在的注册表项的读取访问权限。

后续步骤