步骤 1:修改 Oracle 数据库中的 vPrev BizTalk 项目

第 1 步(共 3 步)

完成时间: 10 分钟

目的: 在此步骤中,你将对现有 vPrev BizTalk 项目进行以下更改:

  • 使用基于 WCF 的 Oracle 数据库适配器,为 SCOTT.CUSTOMER 表的插入操作生成元数据。

  • 使用 vPrev Oracle 数据库适配器执行 Insert 操作的请求消息映射到使用基于 WCF 的 Oracle 数据库适配器执行 Insert 操作的请求消息。

  • 将使用基于 WCF 的 Oracle 数据库适配器收到的响应消息映射到 vPrev Oracle 数据库适配器的响应消息。

先决条件

  • 必须具有 vPrev BizTalk 项目才能在 Oracle 数据库中的 SCOTT.CUSTOMER 表上执行插入操作。

修改 vPrev BizTalk 项目

  1. 为 SCOTT.CUSTOMER 表的 Insert 操作生成元数据,使用基于 WCF 的 Oracle 数据库适配器。 可以使用“Consume Adapter Service BizTalk Project 加载项”生成元数据。

    有关如何生成元数据的说明,请参阅 在 Visual Studio 中获取 Oracle 数据库操作的元数据。 生成架构后,会将名称类似于 OracleDBBindingSchema.xsd 的文件添加到 BizTalk 项目中。 此文件包含用于发送消息以通过基于 WCF 的 Oracle 数据库适配器在 Oracle 数据库中的 SCOTT.CUSTOMER 表上执行插入操作的模式。

  2. 生成 Insert操作的元数据还会创建一个端口绑定文件。 在下一步中,此绑定文件将用于创建 WCF-Custom 发送端口以将消息发送到 Oracle 数据库。 该操作的 SOAP 动作也被设置为据其生成的元数据的操作。 例如,如果为 Insert 操作生成元数据,则发送端口上的 SOAP 操作中的操作名称将为“Insert”。 但是,作为业务流程一部分创建的逻辑发送端口上的作名称可能有所不同,例如“Operation_1”。 因此,使用发送端口将消息发送到 Oracle 数据库时,会收到错误。 若要防止出现这种情况,请确保业务流程中逻辑发送端口上的操作名称与生成元数据的操作名称相同。

    在本教程中,由于您为 Insert 操作生成了元数据,因此请将逻辑发送端口操作的名称更改为“Insert”。

  3. 对于请求消息,请将使用 vPrev Oracle 数据库适配器生成的架构映射到使用基于 WCF 的 Oracle 数据库适配器生成的架构。

    1. 将 BizTalk 映射器添加到 BizTalk 项目。 右键单击 BizTalk 项目,指向 “添加”,然后单击“ 新建项”。

      在“ 添加新项 ”对话框中的左窗格中,选择“ 映射文件”。 在右窗格中,选择“映射”。 指定映射的名称,例如 RequestMap.btm。 单击 添加

    2. 在“源架构”窗格中,单击“ 开放源代码架构”。

    3. BizTalk 类型选取器 对话框中,展开项目名称、展开 “架构”,并为 vPrev Oracle 数据库适配器的请求消息选择架构。 对于本教程,请选择 Oracle_Migration.CUSTOMERService_CUSTOMER_x5d。 单击 “确定”

    4. “源架构的根节点 ”对话框中,选择“ 插入 ”,然后单击“ 确定”。

    5. 在“目标架构”窗格中,单击“ 打开目标架构”。

    6. BizTalk 类型选取器 对话框中,展开项目名称、展开 “架构”,并为基于 WCF 的 Oracle 数据库适配器的请求消息选择架构。 对于本教程,请选择 Oracle_Migration.OracleDBBindingSchema。 单击 “确定”

    7. “目标架构的根节点 ”对话框中,选择“ 插入 ”并单击“ 确定”。

    8. 将这两个方案中的相应元素进行映射,如下图所示。

      将请求 4cb59338-40d1-4eb1-bd89-b5a3183959e1 映射到 Oracle 数据库

    9. 保存地图。

  4. 对于响应消息,请将使用 vPrev Oracle 数据库适配器生成的架构映射到使用基于 WCF 的 Oracle 数据库适配器生成的架构。

    1. 将 BizTalk 映射器添加到 BizTalk 项目。 右键单击 BizTalk 项目,指向 “添加”,然后单击“ 新建项”。

      在“ 添加新项 ”对话框中的左窗格中,选择“ 映射文件”。 在右窗格中,选择“映射”。 指定地图的名称,例如 ResponseMap.btm。 单击 添加

    2. 在“源架构”窗格中,单击“ 开放源代码架构”。

    3. BizTalk 类型选取器 对话框中,展开项目名称、展开 “架构”,并为基于 WCF 的 Oracle 数据库适配器选择响应消息的架构。 对于本教程,请选择 Oracle_Migration.OracleDBBindingSchema。 单击 “确定”

    4. “源架构的根节点 ”对话框中,选择 InsertResponse ,然后单击“ 确定”。

    5. 在“目标架构”窗格中,单击“ 打开目标架构”。

    6. BizTalk 类型选取器 对话框中,展开项目名称、展开 “架构”,并为 vPrev Oracle 数据库适配器的响应消息选择架构。 对于本教程,请选择 Oracle_Migration.CUSTOMERService_CUSTOMER_x5d。 单击 “确定”

    7. “目标架构的根节点 ”对话框中,选择 InsertResponse,然后单击“ 确定”。

    8. 你会注意到,符合基于 WCF 的 Oracle 数据库适配器的响应消息架构中包含一个附加的 InsertResult 元素。 必须从架构中删除此项,并映射这两个架构中的 InsertResponse 元素。

      为此,请从工具箱中拖动字符串左侧修剪功能体,并将其放在映射器网格上。 将源架构中的 InsertResponse 元素连接到 functoid。 同样,将目标架构中的 InsertResponse 元素连接到 functoid。 下图演示了如何通过 functoid 映射这两个元素。

      映射从 Oracle 数据库响应

      注释

      有关详细信息,请参阅 UI 指南和开发人员 API 命名空间参考中的 String Left Trim Functoid

    9. 保存地图。

  5. 保存并生成 BizTalk 解决方案。 右键单击解决方案,然后单击“ 生成解决方案”。

  6. 部署解决方案。 右键单击解决方案,然后单击“ 部署解决方案”。

后续步骤

创建 WCF 自定义发送端口并将其配置为使用在此步骤中创建的映射,如 步骤 2:使用 SQL 适配器在 Biztalk Server 管理控制台中配置业务流程

另请参阅

教程:迁移 BizTalk 项目