Visual Studio 的 WCF 适配器服务开发向导使适用于 Oracle 数据库的 Microsoft BizTalk 适配器和用于 Oracle 电子商务套件的 Microsoft BizTalk 适配器可直接用作 Microsoft SharePoint 中的外部数据源。 使用 WCF 适配器服务 模板启动支持此功能的添加服务开发向导,用于在 Visual Studio 中创建新的 Visual C# 网站。 该模板包含在 BizTalk 适配器包中。 还必须安装 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK。
SharePoint运营支持
适配器服务开发向导为与 Microsoft SharePoint 兼容的 Oracle 适配器生成特殊的服务协定。 向导将生成一个服务合同,其中包括将适配器与 Microsoft SharePoint 集成的以下操作:
创建:由CreateItem_操作支持。
读: 由 ReadItem_ 操作支持。
更新:由UpdateItem_操作支持。
删除:由DeleteItem_操作支持。
查询: 由ReadList操作支持。
关联: 由 Associate_ 操作支持。
以下服务协定是以适用于 Oracle 数据库的 Microsoft BizTalk 适配器作为示例生成的。 适配器配置为提供对 EMP 表的访问权限
[System.ServiceModel.ServiceContractAttribute()]
public interface ISCOTT_EMP {
[System.ServiceModel.OperationContractAttribute()]
SCOTT_EMP_Record[] ReadList(System.Nullable<int> Limit);
[System.ServiceModel.OperationContractAttribute()]
void CreateItem(SCOTT_EMP_Record Input);
[System.ServiceModel.OperationContractAttribute()]
SCOTT_EMP_Record[] ReadItem_EMPNO(System.Nullable<decimal> EMPNO);
[System.ServiceModel.OperationContractAttribute()]
void UpdateItem_EMPNO(SCOTT_EMP_Record Input);
[System.ServiceModel.OperationContractAttribute()]
void DeleteItem_EMPNO(System.Nullable<decimal> EMPNO);
[System.ServiceModel.OperationContractAttribute()]
SCOTT_EMP_Record[] Associate_DEPTNO(System.Nullable<decimal> DEPTNO);
}
创建新的网站以在 IIS 中托管 Oracle 数据库
这些步骤提供了一个使用 WCF 适配器服务开发向导的示例,用于创建承载用于 Oracle 数据库的 Microsoft BizTalk 适配器的新 WCF Web 服务。 服务合同将包含与 SharePoint 直接兼容的操作。 因此,可以直接将其用作外部数据源。 适配器配置为使用 SCOTT 帐户向 Oracle 数据库进行身份验证。 如果 SCOTT 帐户已锁定,可以通过以 SYSDBA 身份登录到 SQL Plus 来解锁该帐户。
<Oracle Installation Bin Directory>\Sqlplus.exe SYS AS SYSDBA
然后,运行以下命令。
SQL> ALTER USER scott ACCOUNT UNLOCK;
创建新网站项目
打开 Visual Studio。
在 Visual Studio 的 “文件 ”菜单上,选择“ 新建 ”,然后单击“ 项目”。
在“ 新建项目 ”对话框中,展开 “其他语言 ”,然后单击 “Visual C#”。 在模板列表中查找 WCF 适配器服务 ,然后单击它以将其选中。
注释
如果未安装 BizTalk 适配器包 2013, 则 WCF 适配器服务 模板不可用。 在 x64 系统上,安装 BizTalk 适配器包 2013 的 x86 和 x64 版本。
为名称指定 ScottEMP ,然后单击“ 确定”。 WCF 适配器服务开发向导将启动。
在“简介” 页上,单击“下一步” 。
在“选择操作”页上,指定oracleDBBinding绑定。
单击“ 配置 ”按钮。 将显示 “配置适配器 ”对话框。
在“安全”选项卡上,在“客户端凭据类型”下拉列表框中选择“用户名”。
输入 SCOTT 以获取用户名,并输入 SCOTT 帐户的正确密码。 SCOTT 帐户的默认密码为 tiger。
单击“ URI 属性 ”选项卡,在 “ServerAddress ”框中输入 Oracle 服务器的 IP 地址或主机名。
在 ServiceName 框中输入正确的 Oracle 数据库服务实例名称。 可以从 Oracle Enterprise Manager 复制实例名称信息。
按“配置适配器”对话框中的“确定”按钮
在向导的 “选择操作” 页上,单击 “连接” 按钮,等待片刻,以便为 Oracle 数据库构建类别。
在 “选择类别 ”列表中添加类别后,向下滚动到 SCOTT 并将其展开。 然后展开 表 ,然后单击 EMP 表项。
在 “可用类别和操作” 列表中,选择列表中的所有操作,然后单击“添加” 按钮。 所有操作都已添加到“已添加的类别和操作”列表中。
在“选择操作”页上,单击“下一步”按钮。
在 “配置服务和终结点行为 ”页上,将本示例 的 UseServiceCertificate 服务行为设置为 false 。 然后单击“ 下一步 ”按钮。
在 “配置服务终结点绑定和地址 ”页上,单击“ 应用 ”按钮。 然后单击“ 下一步 ”按钮。
在 “摘要 ”页上,单击“ 完成 ”按钮。
单击“ 生成 ”菜单选项,然后单击“ 生成解决方案”。 验证项目生成是否成功,且没有错误。
将新服务发布到 IIS
在此示例中,你将适配器主机服务发布到本地 IIS Web 服务器。
在 Visual Studio 解决方案资源管理器中,右键单击 ScottEmp 项目,然后单击“ 属性”。 将显示“项目设计器”选项卡。
单击 “Web ”选项卡,然后单击“ 使用本地 IIS Web 服务器 ”选项。
单击“ 创建虚拟目录 ”按钮。
打开 Web 浏览器到服务地址 http://localhost/ScottEmp/ISCOTT_EMP.svc。 应收到一条消息,指出“你已创建服务”,指示适配器托管在 IIS 中。
使用 SharePoint Designer 将外部数据源添加到 SharePoint 网站
本部分介绍如何使用 SharePoint Designer 将 WCF 服务作为外部数据源添加到新网站。
打开 SharePoint Designer 并创建新的网站。
在 SharePoint Designer 中,展开“导航”,然后单击“网站对象”列表中的“外部内容类型”。
单击“ 外部内容类型 ”菜单按钮创建新的外部内容类型。
单击 “名称” 旁边的文本以编辑新的外部内容类型的名称。 输入 OracleEMP 以获取名称。
单击“外部系统”旁的文本链接,显示“单击此处”可发现外部数据源和作。 这将打开 OracleEMP 的外部内容类型的操作设计器。
单击发现屏幕上的 “添加连接 ”按钮。
在“外部数据源类型选择”对话框中,选择 WCF 服务 ,然后单击“ 确定 ”按钮。
在“WCF 连接”对话框中,在 “服务元数据 URL ”框中输入 https://localhost/ScottEmp/ISCOTT_EMP.svc?wsdl
在 “服务终结点 URL ”框中输入 https://localhost/ScottEmp/ISCOTT_EMP.svc
单击“ 确定 ”按钮关闭 WCF 连接对话框。
填充数据源信息后,展开 https://localhost/ScottEmp/ISCOTT_EMP.svc 数据源并展开 Web 方法。
右键单击 ReadList Web 方法,然后单击“ 新建读取列表作”。 “读取列表”配置对话框已启动。
在“读取列表”对话框中,单击 “返回参数 ”,然后单击“数据源元素”中的 EMPNO 。 单击 “映射到标识符”。
在“读取列表”对话框中单击“ 完成 ”。
键入 Ctrl+s 保存新的外部数据源。
测试外部数据源连接
在新网站中,单击“ 创建列表和窗体 ”按钮。 此时会显示 OracleEMP 的“创建列表和窗体”对话框。
输入 列表名称OracleEMP_List ,然后单击“ 确定 ”按钮。
创建列表后,单击菜单上的 “摘要视图 ”按钮。
单击“外部列表”下的OracleEMP_List。
在菜单上单击“在浏览器中预览” 按钮以测试适配器的ReadList操作。
故障排除
- 在 64 位计算机上,必须确保也安装了 32 位 Oracle 客户端组件。 这是因为 Visual Studio 及其向导将作为 32 位进程运行,需要在开发期间访问 32 位组件。