步骤 1:使用 Oracle 电子商务适配器创建和发布 WCF 服务

第 1 步(共 4 步)

完成时间: 15 分钟

目的: 可以使用 WCF LOB 适配器服务开发向导从 Oracle E-Business Suite 制品生成 WCF 服务,生成的服务可以托管于如 Internet Information Services(IIS)或 Windows 进程激活服务(WAS)等宿主环境中。 本主题演示如何使用向导生成 WCF 服务文件。

先决条件

在运行向导之前,请安装以下内容:

  • Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK,其中包含 “完整 ”选项或 “自定义 ”选项(并选择此选项中的 工具 )。 这将安装适配器服务开发向导的 Visual Studio 模板。

  • 从 BizTalk 适配器包中的 Microsoft BizTalk 适配器,用于 Oracle 电子商务套件。

    有关这些先决条件的详细信息,请参阅 BizTalk 适配器包安装指南。 安装指南通常安装在 <安装驱动器>:\Program Files\Microsoft BizTalk Adapter Pack\Documents。

注释

还必须运行随 Microsoft Office SharePoint Server 示例提供的create_apps_artifacts.sql脚本,在应用程序对象库应用程序中创建MS_SAMPLE_EMPLOYEE接口表。 本教程使用此接口表。

为 Oracle E-Business 工件操作创建 WCF 服务

本部分提供如何在 MS_SAMPLE EMPLOYEE 接口表上为 Select 操作创建 WCF 服务的步骤。

为 MS_SAMPLE EMPLOYEE 接口表上的选择操作创建 WCF 服务

  1. 启动 Visual Studio,然后创建项目。

  2. 在“ 新建项目 ”对话框中的“ 项目类型 ”窗格中,选择 “Visual C#”。 在 “模板 ”窗格中,选择 WCF 适配器服务

    或者,在 “项目类型 ”窗格中展开 Visual C#,然后选择 “Web”。 在 “模板 ”窗格中,选择 WCF 适配器服务

    “新建项目”对话框

    注释

    如果使用 Web 开发组件安装了 Visual Studio 2013,则 WCF 适配器服务 模板也可从 “新建网站 ”选项(文件>>网站)获取。

    但是,Oracle E-Business 适配器仅支持在文件系统上创建的网站。 因此,在“新建网站”对话框中创建网站时,必须在“位置”列表中选择“文件系统”。

  3. 指定解决方案的名称和位置,然后选择“ 确定”。 WCF 适配器服务开发向导将启动。

  4. 在“欢迎”页上,选择“下一步”

  5. 在“选择操作”页面上,指定连接到 Oracle E-Business Suite 的连接字符串。 为此,做以下事情:

    1. “选择绑定 ”列表中,选择 oracleEBSBinding,然后选择“ 配置”。

    2. 在“ 配置适配器 ”对话框中,选择“ 绑定属性 ”选项卡。

      1. “常规 ”类别下,对于 ClientCredentialType 绑定属性,选择 “EBusiness”。

      2. OracleEBS 类别下,为 OracleUserNameOraclePasswordOracleEBSResponsibilityName 绑定属性指定适当的值。 在这种情况下,需要为 OracleUserNameOraclePassword 绑定属性提供数据库凭据。

      3. “元数据 ”类别下,对于 EnableSafeTyping 绑定属性,选择 “True”。 如果要检索日期列的值,建议在生成元数据时将 EnableSafeTyping 绑定属性设置为 True

    3. 选择 “URI 属性 ”选项卡,然后指定连接参数的值。 有关 Oracle 电子商务适配器的连接 URI 的详细信息,请参阅 创建 Oracle E-Business Suite 连接 URI

    4. 选择 “安全 ”选项卡,然后在 “客户端凭据类型 ”列表中,选择“ 用户名”。 指定有效的 Oracle E-Business Suite 用户名和密码以连接到 Oracle E-Business Suite。

    5. 选择 “确定 ”关闭“配置适配器”对话框,然后选择“ 连接”。 Visual Studio 成功与 Oracle E-Business Suite 建立连接后,连接状态显示为 “已连接”。 还可以在“选择操作”页上看到 Oracle E-Business Suite 元数据。

  6. 在“选择作”页上的“选择协定类型”列表中,选择“客户端”(出站作)。

  7. “选择类别 ”框中,浏览到应用程序对象库应用程序中MS_SAMPLE_EMPLOYEE接口表。 有关浏览到适配器中的项目的信息,请参阅 Oracle 电子商务操作的“浏览、搜索和检索元数据”

  8. “可用类别和操作”框中,选择“选择”操作,然后选择“添加”。 “选择”操作被添加到 “添加的类别和操作” 框中。

    添加选择操作

    注释

    可以为每个工件添加多个操作。 还可以为不同的 Oracle 电子商务套件组件添加操作。 例如,可以为接口表添加一个操作,为并发程序添加另一个操作。 此外,还可以通过在搜索表达式中指定通配符来搜索特定操作。 有关支持的特殊字符和可在不同节点级别搜索操作的详细信息,请参阅 搜索 Oracle E-Business Suite 操作

  9. 在“选择操作”页面上,选择下一步

  10. 在“配置服务和终结点行为”页上,指定要配置服务和终结点行为的值。

    1. “服务行为配置 ”框中,指定以下属性的值:

      对于属性 指定值
      启用元数据交换 将此设置为 True 以创建元数据交换终结点。 通过将此项设置为 True,可以使用标准化协议(如 WS-Metadata Exchange(MEX)和 HTTP/GET 请求来提供服务元数据。 默认值为 False
      在故障中包含异常详细信息 将此项设置为 True ,以便在返回给客户端用于调试的 SOAP 错误中包含详细的托管异常信息。 默认值为 False
      名称 服务行为配置的名称。 对于本教程,请键入 customServiceBehavior
      使用服务证书 指定是否要使用 WCF 的消息级别安全模式。 默认值为 True。 在本教程中,必须将此设置为 False

      注释

      本教程不使用服务证书,因此无需为 FindValueStoreLocation、StoreNameX509FindType 属性提供值。 有关证书和关联属性的详细信息,请参阅 X509ClientCertificateCredentialsElement 属性

    2. “终结点行为配置 ”框中,指定以下属性的值:

      对于属性 指定值
      身份验证类型 若要Microsoft Office SharePoint Server 使用 WCF 服务,请将该值设置为 HTTPUserNamePassword。 这样,客户端就可以将用户名和密码指定为 HTTP 标头的一部分。
      名称 指定终结点行为配置的名称。 对于本教程,请键入 customEndpointBehavior
      用户名标题 用户名标头的名称。 对于此示例,请指定 MyUserHeader。 有关 HTTP 标头的详细信息,请参阅 对自定义 HTTP 和 SOAP 标头的支持

      注意: 如果将 身份验证类型 设置为 HTTPUserNamePassword,则必须为此属性指定值。 如果 身份验证类型 设置为 “自动”,则此属性是可选的。
      密码标题 密码标头的名称。 对于此示例,请指定 MyPassHeader。 有关 HTTP 标头的详细信息,请参阅 对自定义 HTTP 和 SOAP 标头的支持

      注意: 如果将 身份验证类型 设置为 HTTPUserNamePassword,则必须为此属性指定值。 如果 身份验证类型 设置为 “自动”,则此属性是可选的。

      重要

      Microsoft建议使用最安全的可用身份验证选项。 此过程中所述的身份验证方法需要高度信任,并具有其他身份验证方法中不存在的风险。 仅当其他方法不可行时,才使用此身份验证方法。

      下图显示了“配置服务和终结点行为”页,其中包含指定的值。

      配置服务和端点行为页

  11. 在“配置服务和终结点行为”页上,选择“ 下一步”。

  12. 在“配置服务终结点绑定和地址”页上,“选择要配置的协定”中显示了您已配置的项目(MS_SAMPLE_EMPLOYEE)。 所选合同的操作框显示了您在“选择操作”页面为该工件选择的选择操作。

  13. “配置协定框的地址和绑定 ”中,指定以下属性的值。 准备就绪后,选择“应用”。

    对于属性 指定值
    绑定配置 向导仅支持基本 HTTP 绑定。 因此,绑定配置字段会自动填充到 System.ServiceModel.Configuration.BasicHttpBindingElement

    选择省略号按钮 (...) 以更改 HTTP 绑定的属性。 若要使用安全信道,必须始终将 Mode 属性设置为 传输。 向导将 Mode 属性的默认值设置为 传输

    有关其他已公开绑定的详细信息,请参阅“BasicHttpBindingElement 成员”,网址为 https://go.microsoft.com/fwlink/?LinkId=103773
    端点名称 指定协定的终结点名称。

    此页上的其他字段会根据前面页中指定的值自动填充。

    注释

    如果未在此页上指定任何值,则接受所有协定的默认值。

    下图显示了具有指定值的“配置服务终结点绑定和地址”页面。

    配置服务终结点绑定和地址

  14. 在“配置服务终结点绑定和地址”页上,选择“ 下一步”。 “摘要”页列出了 Oracle 电子商务套件工件的树结构以及为工件选择的操作。

  15. 查看摘要,然后选择“ 完成”。

  16. 该向导创建 WCF 服务,并将以下文件添加到 Visual Studio 项目:

    1. .svc 文件。 这是 WCF 服务文件。 向导为每个协定生成一个文件。

    2. Web.config 文件。

    3. 服务代码(.cs文件)

修改.cs文件

当您使用 Oracle E-Business 适配器从 Oracle 电子商务套件构件创建服务并希望在 Microsoft Office SharePoint Server 的业务数据列表 Web 部件中使用该服务时,您需要提供一个完整的筛选器子句,该子句以 WHERE 子句开头。 例如,如果要搜索名为“John”的员工,则需要在业务数据列表 Web 部件中提供以下筛选器子句:

where NAME like ‘JOHN’

但是,如果希望用户仅提供筛选器子句的名称作为筛选器子句的输入,而无需实际提及整个筛选器子句,则可以在.cs文件中添加代码,以修改Microsoft Office SharePoint Server 中来自业务数据列表 Web 部件的筛选器子句,以 WHERE 子句格式将其传递给 Oracle E-Business。

例如,在本教程中,如果希望用户在 Office SharePoint Server Microsoft Business Data List Web 部件中输入员工姓名并检索该员工的记录,则可以在.cs文件中添加以下代码:

SelectResponse InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.Select(SelectRequest request)
{
     request.FILTER = "where NAME like '" + request.FILTER + "'"; // The code to avoid the users from specifying the WHERE clause in the filter from Business Data List Web Part.
     return base.Channel.Select(request);
}

发布 WCF 服务

确保为 IIS 启用 SSL。 有关如何为 IIS 启用 SSL 的说明,请参阅 https://go.microsoft.com/fwlink/?LinkId=197170

发布 WCF 服务:

  1. 在解决方案资源管理器中,打开项目快捷菜单,然后选择“ 发布”。

  2. “发布 Web ”对话框中,指定 WCF 服务的 URL。 例如:

    https://<COMPUTER_NAME>:<PORT_NUMBER>/MS_SAMPLE_EMPLOYEE/
    

    注释

    必须将 WCF 服务发布到已启用 SSL 的位置。 换句话说, “目标位置” 框中的值必须以“https://”开头。 由于用户凭据在 HTTP 标头中传递,向导会自动将适配器的绑定行为配置为使用“传输”作为安全模式,这意味着 SSL 加密。 当然可以返回并编辑 web.config 文件以更改安全模式>参数的值<,但在 HTTP 标头中以明文形式传输敏感信息时,使用 SSL 始终是更好的选择。

  3. “复制 ”框中,选择 “所有项目文件”。

  4. 选择发布

  5. 验证 WCF 服务是否已成功发布。

    1. 启动 IIS Microsoft管理控制台。 打开 “开始 ”菜单,找到并打开 管理工具,然后选择 “Internet Information Services”(IIS)管理器

    2. 导航到已发布服务的节点。 对于MS_SAMPLE_EMPLOYEE服务,请导航到 Internet Information Services><计算机名称>>网站>默认网站>MS_SAMPLE_EMPLOYEE

    3. 在右窗格中,打开 InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.svc 文件的快捷菜单,然后选择“ 浏览”。

    4. 该网页会显示用于检索 WSDL 的 URL。 可能需要使用 svcutil 命令测试元数据检索。 例如,用于检索MS_SAMPLE_EMPLOYEE服务的元数据的命令为:

      svcutil.exe https://<COMPUTER_NAME>:<PORT_NUMBER>/MS_SAMPLE_EMPLOYEE/InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.svc?wsdl
      
      

下一步

若要为 Oracle E-Business Suite 项目创建应用程序定义文件,请使用业务数据目录定义编辑器。 有关说明,请参阅 步骤 2:为 Oracle 电子商务套件项目创建应用程序定义文件。 应用程序定义文件标识 LOB 数据的存储位置及其存储格式。

另请参阅

教程:在 SharePoint 网站上呈现 Oracle 电子商务套件中的数据