如何:基于 Web 服务创建外部内容类型
上次修改时间: 2010年7月28日
适用范围: SharePoint Server 2010
Microsoft SharePoint Designer 2010 中的外部内容类型设计器可创建连接到 Web 服务的外部内容类型。可以仅发现 Web 服务,指向将执行所需操作并返回所需数据的 Web 方法,然后使用该方法创建外部内容类型,而无需编写任何代码或 XML。
在本主题中,您将了解如何根据 AdventureWorks SQL Server 2008 示例数据库中的 Person.Contact、Sales.Customer 和 Sales.Individual 表创建一个名为 Customer 的外部内容类型。
先决条件
一台运行 Microsoft SQL Server 2008 的服务器。
一台运行 Microsoft SharePoint 2010 的服务器。
Microsoft SharePoint Designer 2010 安装在客户端计算机上。
代码示例:AdventureWorks2008 ASP.NET Web 服务随 Web 服务器上部署的此 SDK 一起提供。
创建基于 Web 服务的外部内容类型
当您使用外部内容类型设计器创建外部内容类型时,SharePoint Designer 2010 需要一个 SharePoint 网站来存储其生成的文件和项目(如外部列表等)。因此,作为第一步,您需要在运行 SharePoint Server 的服务器上创建一个 SharePoint 网站来存储外部内容类型的项目,并在客户端的 SharePoint Designer 中打开该网站。
定义常规的外部内容类型设置
在 SharePoint Designer 2010 中,打开要在其中存储外部内容类型的项目的 SharePoint 网站。
在左侧导航窗格中,单击"外部内容类型"。
在实体的上下文"功能区"中,单击"外部内容类型"。
这将打开一个新的外部内容类型页。
单击"名称"旁边的"新建外部内容类型"链接,然后键入 WSCustomer。
单击"显示名称"旁边的"新建外部内容类型"链接,然后键入 WSCustomer。
从"Office 项目类型"下拉列表中选择"联系人"。下图显示了外部内容类型的常规设置。
添加与外部系统的连接
若要为外部内容类型指定数据源,请单击"单击此处发现外部数据源并定义操作"。
单击"外部数据源"下方的"添加连接"按钮。
在"外部数据源类型选择"对话框中选择"WCF 服务"(如下所示),然后单击"确定"。
在随即打开的"WCF 连接"对话框中,在"服务元数据 URL"字段中输入 Web 服务 wsdl 的 URL。
然后,在"服务终结点 URL"中输入 asmx 页的 URL。
输入名称"AdventureWorksWS"。下图显示了"WCF 连接"对话框。
将其余设置保留为默认值,单击"确定"。
在验证与前面的步骤中指定的 Web 服务地址的连接后,"操作设计视图"窗格会在"数据源资源管理器"窗口中列出 Web 服务定义中的方法,如下所示。
定义支持的操作及其参数和筛选器
创建 Create 操作。
右键单击 CreateCustomer 方法,然后在上下文菜单上单击"新建 Create 操作"。这将打开 Create 向导。
在"Create"向导中,单击"下一步"以保留此操作的默认名称和显示名称值。
单击"数据源元素"分组框中的 CustomerID 参数。
选中"属性"分组框中的"映射到标识符"复选框,如下所示。
单击"下一步"以继续前进到"返回参数配置"页。
单击"数据源元素"分组框中的 CustomerID 参数。
选中"属性"分组框中的"映射到标识符"复选框。
单击"完成"按钮完成 Create 操作。
创建 Read Item 操作。
右键单击"数据源资源管理器"中的"GetCustomerById"方法,然后在上下文菜单上选择"新建 Read Item 操作"。此上下文菜单将显示 SharePoint Designer 支持的所有操作构造型。
这将打开 Read Item 向导。
在 Read Item 向导中,单击"下一步"以保留此操作的默认名称和显示名称值。
请注意,"输入参数配置"页上的"错误消息"分组框中存在一个错误。这需要您标识此外部内容类型的标识符字段。
为此,请单击"数据源元素"分组框中的"CustomerId"字段,并选中"属性"分组框中的"映射到标识符"复选框。
此操作会将 ID 字段设置为此外部内容类型(而不仅仅是此参数)的标识符。该错误消息将消失。
单击"下一步"以继续前进到"返回参数配置"页。
单击"数据源元素"分组框中的 CustomerID 参数。
选中"属性"分组框中的"映射到标识符"复选框。请注意,该字段将自动标记为只读。
接下来,您需要将 LastName、FirstName 等字段映射到 Outlook 属性。选择可映射到可比较的 Outlook 属性的所有字段,并通过在 Office 属性字段中选择相应的字段以将其映射到该属性。
单击"完成"按钮完成"Read Item"操作。
创建 Read List 操作。
右键单击 GetCustomers 方法,然后在上下文菜单上单击"新建 Read List 操作"。
这将打开 Read List 向导。
在 Read List 向导中,单击"下一步"以保留此操作的默认名称和显示名称值。
在"输入参数配置"页上,单击"下一步"以继续前进到"返回参数配置"页。
单击"数据源元素"分组框中的 CustomerID 参数。
在"属性"组中,选中"映射到标识符"复选框。
选择"Last Name"字段,单击"在选取器中显示"复选框以允许"LastName"字段显示在外部数据项选取器中。对于"FirstName"字段重复此步骤。
单击"完成"以完成 Read List 操作。
在创建 Read Item 和 Read List 操作后,可使用此外部内容类型创建外部列表。
在为外部内容类型创建操作时,可在操作设计视图的"外部内容类型操作"部分查看这些操作。
创建 Update 操作。
右键单击 UpdateCustomer 方法,然后在上下文菜单上单击"新建 Update 操作"。
在 Update 向导中,单击"下一步"以保留此操作的默认名称和显示名称值。
单击"数据源元素"分组框中的 CustomerID 参数。
选择"属性"分组框中的"映射到标识符"框。
将其他参数保持选中状态。
单击"完成"以完成 Update 操作。
此时您已成功创建 Customer 外部内容类型的基本操作。
保存外部内容类型
- 按 Ctrl+S 将外部内容类型保存到 SharePoint 网站的 BDC 中。
现在您便可以使用 Microsoft Business Connectivity Services (BCS) 的任何演示功能来显示 Office 2010 和 SharePoint 2010 中的外部数据。下图显示了基于 WSCustomer 外部内容类型的外部列表。