WCF:使用启用声明的 WCF Web 服务作为 SharePoint 2010 外部内容类型(第4 部分,共 4 部分)

来源:互联网 发布:淘宝店铺设计效果图 编辑:程序博客网 时间:2024/05/29 16:42

本文是介绍如何通过 Microsoft Business Connectivity Services (BCS) 创建和使用声明感知 Web 服务的系列文章的第四部分(共四部分)。

  • WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
  • WCF:在 WCF Web 服务内确定调用方身份(第 2 部分,共 4 部分)
  • WCF:在 WCF Web 服务和 SharePoint 2010 安全令牌服务之间建立信任关系(第 3 部分,共 4 部分)
  • WCF:使用启用声明的 WCF Web 服务作为 SharePoint 2010 外部内容类型(第4 部分,共 4 部分)(本文)

简介

将启用声明的 Web 服务用作外部内容类型类似于将未启用声明的 Web 服务用作外部内容类型。如果您已熟悉设置外部内容类型的过程,则应熟悉此过程中的大多数步骤。使用声明的特定步骤是步骤 26、27 和 28。

从 Web 服务创建外部内容类型

从 Web 服务创建外部内容类型

  1. 打开 Microsoft SharePoint Designer 2010。

  2. 打开配置使用外部内容类型的 SharePoint 网站。

  3. 在“网站对象”列表中,单击“外部内容类型”



    图 1.“网站对象”列表中的外部内容类型

    “网站对象”列表中的外部内容类型
  4. 在功能区中,单击“新建外部内容类型”



    图 2. 功能区中的外部内容类型

    功能区上的“外部内容类型”按钮
  5. 在“新建外部内容类型”选项卡,单击“新建外部内容类型”



    图 3.“新建外部内容类型”链接

    “新建外部内容类型”链接
  6. 键入外部内容类型的名称。对于此示例,请将其命名为 Customers。



    图 4. 命名外部内容类型

    指定外部内容类型
  7. Tab 键。

    Tab 键时,SharePoint Designer 2010 会将“显示名称”设置为与“名称”相同。如果需要,可更改“显示名称”以使其与“名称”不同。

  8. 单击“单击此处发现外部数据源”链接。



    图 5. 发现外部数据源

    发现外部数据源
  9. 单击“添加连接”



    图 6. 添加连接

    添加连接
  10. 这会显示“外部数据源类型选择”对话框。

    从列表中选择“WCF 服务”,然后单击“确定”

  11. 在“WCF 连接”对话框中的“服务元数据 URL”字段中,键入在本系列中的前面文章中创建的 Web 服务的服务元数据 URL。该元数据 URL 类似以下内容,其中,服务器名称将替换为您在文章“WCF:在 WCF Web 服务和 SharePoint 2010 安全令牌服务之间建立信任关系(第 3 部分,共 4 部分)”的将证书绑定到 HTTPS 过程中确定的“主题”字段的值。

    复制
    http:// ericwhit209.redmond.corp.microsoft.com/Customers/Customers.svc?wsdl


    图 7. 提供服务元数据 URL

    输入服务元数据 URL
    Gg318616.note(zh-cn,office.14).gif注释:注意,元数据 URL 不使用 https。

     

     

  12. 键入 Web 服务的服务终结点 URL。服务终结点 URL 类似以下内容,其中,服务器名称将替换为域中的完全限定计算机名。

    复制
    https:// ericwhit209.redmond.corp.microsoft.com/Customers/Customers.svc


    图 8. 键入服务终结点 URL

    输入服务端点 URL
  13. 将 Customers 键入到“名称(可选)”字段中。



    图 9. 键入连接名称

    输入连接名称
  14. 单击“确定”。SharePoint Designer 在发现 Web 服务时会显示一个或多个进度栏。

  15. 在“数据源资源管理器”中,展开“客户” 数据源节点。



    图 10. 展开“客户”数据源

    展开“客户”数据源
  16. 在“数据源资源管理器”中,展开“Web 方法”节点。



    图 11. 展开 Web 方法

    展开 Web 方法
  17. 右键单击“GetAllCustomers”,然后单击“新建读取列表操作”



    图 12. 新建读取列表操作

    新建读取列表操作
  18. 在向导的“操作属性”对话框中,单击“下一步”

  19. 在向导的“输入参数配置”对话框中,单击“下一步”

  20. 在向导的“返回参数配置”对话框中的“数据源元素”树中,单击“CustomerID”。在“属性”中,单击“映射到标识符”复选框。



    图 13. 单击“映射到标识符”

    单击“映射到标识符”

    单击“完成”

  21. 在“数据源资源管理器”中,右键单击“GetCustomerByID”,然后单击“新建读取项目操作”



    图 14. 新建读取项目操作

    新建读取项目操作
  22. 在向导的“操作属性”对话框中,单击“下一步”

  23. 在向导的“输入参数配置”对话框中,单击“数据源元素”的“CustomerID”,然后单击“映射到标识符”复选框。



    图 15. 映射到标识符

    映射到标识符

    单击“下一步”

  24. 在向导的“返回参数配置”对话框中的“数据源元素”中,单击“CustomerID”,然后单击“映射到标识符”复选框。



    图 16. 映射到标识符

    映射到标识符

    单击“完成”

  25. 在工具栏中,单击“保存”。SharePoint Designer 将保存外部内容类型。



    图 17. 单击“保存”

    单击“保存”按钮
  26. 在功能区中,单击“创建列表和表单”



    图 18. 单击“创建列表和表单”

    单击“创建列表和表单”按钮
  27. 在“为客户创建列表和表单”对话框中的“列表名称”字段中,键入 Customers。单击“确定”



    图 19. 在“列表名称”字段中键入 Customers

    在“列表名称”字段中输入“客户”
  28. 接下来,必须为以前创建的外部内容类型启用声明。在导航窗格中,单击 Customers(内容类型名称)。



    图 20. 导航到“客户”

    导航到“客户”
  29. 在功能区上单击“编辑连接属性”



    图 21. 单击“编辑连接属性”

    单击“编辑连接属性”按钮
  30. 在“连接属性”对话框中,单击“使用基于声明的身份验证”。单击“确定”



    图 22.“连接属性”对话框

    “连接属性”对话框
  31. 接下来,必须为以前创建的外部内容类型分配相应的权限。在运行 SharePoint Foundation 2010 的计算机上,启动“SharePoint 管理中心”

  32. 在“应用程序管理”下,单击“管理服务应用程序”

  33. 在“服务应用程序”页上,单击“Business Data Connectivity Service”



    图 23. SharePoint 管理中心中的服务应用程序

    SharePoint 管理中心中的服务应用程序
  34. 单击以前创建的内容类型旁边的复选框,然后单击“设置对象权限”



    图 24. 设置对象权限

    “设置对象权限”按钮
  35. 在“设置对象权限”对话框中,在可添加帐户或组的字段中键入要为其设置权限的用户的别名。在本例中,我输入我的别名 ericwhit。单击“检查名称”,然后单击“添加”



    图 25. 输入别名并检查名称

    输入别名并检查名称
  36. 单击“添加”后,为该用户提供该内容类型的所有权限。



    图 26. 为用户指定权限

    为用户指定权限
  37. 在“设置对象权限”对话框中,在允许您添加帐户或组的字段中键入“所有验证用户”。单击“检查名称”,然后单击“添加”



    图 27. 输入别名并检查名称

    输入别名并检查名称
  38. 单击“执行”复选框以向经过身份验证的用户提供外部内容类型的执行权限。单击“确定”



    图 28. 为经过身份验证的用户指定权限

    为经过身份验证的用户指定权限

    现在已正确设置外部内容类型,可使用基于声明的身份验证。

  39. 使用浏览器浏览至 SharePoint 网站。打开“客户”列表,应看到外部内容类型从 Web 服务检索到的数据。



    图 29. 包含来自 Web 服务的数据的外部列表

    包含 Web 服务器数据的外部列表
  40. 最后一步,可验证该 Web 服务是否具有标识声明的访问权限,以及是否正确返回了标识声明。在承载 Web 服务的计算机上,打开以下位置的日志文件: C:/MyWebService/log.txt。应看到,该日志文件包含一个有关外部内容类型的最新访问条目。您可以看到访问该列表的用户的标识。此标识是从声明中检索到的。



    图 30. 从声明中检索到的标识

    从声明中检索的标识

    当以声明的方式检索标识时,会在标识的前面追加“0#.w|”字符,因为它是编码的 SharePoint 标识声明值。该前缀表示该标识是由 Windows 声明提供程序发布的。