使用 BizTalk Server 在事务上下文中接收 SAP 中的 IDOC

在事务上下文中接收 IDOC 类似于在事务上下文中接收 TFC。 在这种情况下,从 SAP 系统接收的 IDOC 包含 TID 作为 TransactionalRfcOperationIdentifier> 元素的<一部分。 此 TID 由适配器保留在 SQL 数据库中。 如果发送 IDOC 的 SAP 系统中的 ABAP 代码具有“COMMIT WORK”语句,则会在将响应发送回 SAP 系统后从 SQL 数据库中删除 TID。

无论 IDOC 是否在事务上下文中接收 IDOC,接收 IDOC 所需的业务流程都类似。 请参阅使用 BizTalk Server 从 SAP 接收 IDOC。 但是,需要执行某些附加任务,以确保在事务上下文中接收 IDOC。

  1. 在设计时,为要接收的 IDOC 生成架构。

  2. 在运行时,请确保设置绑定属性 TidDatabaseConnectionString。 此属性采用连接字符串连接到 SQL 数据库以存储 TID。 示例连接字符串如下所示:

    Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;  
    

    有关绑定属性以及如何设置它的详细信息,请参阅 阅读有关 mySAP Business Suite 绑定属性的 BizTalk 适配器的信息

    重要

    BizTalk 适配器包安装向导安装 SQL 脚本 SapAdapter-DbScript-Install.sql,该脚本必须由SQL Server管理员运行才能在 SQL Server 中创建数据库和数据库对象。 该脚本通常安装在 <安装驱动器>:P图像文件Microsoft BizTalk 适配器包中。

    SAP 适配器使用这些对象来保留 TID。 因此,SQL Server管理员必须确保作为连接字符串一部分提供的用户名具有足够的权限来执行存储过程。 你还可以选择Windows 身份验证前提是 Windows 用户有足够的权限在数据库中执行存储过程。

  3. 确保在安装了适配器的计算机上启用了 MSDTC。 执行以下步骤以启用 MSDTC。

    1. 启动组件服务 MMC 管理单元。

    2. 在“组件服务 MMC”管理单元中,从左窗格中展开 “组件服务”,展开“ 计算机”,右键单击“ 我的电脑”,然后单击“ 属性”。

    3. 在“ 我的计算机属性 ”对话框中,单击“ MSDTC ”选项卡。

    4. 在“ 事务配置 ”部分中,单击“ 安全配置 ”按钮。

    5. 在“安全配置”对话框中,选择“网络 DTC 访问检查”框,然后在其中选择“允许远程客户端检查”框。

    6. 在“事务管理器通信”部分中,选择“允许入站”和“允许出站检查” 框。

    7. 在“ 安全配置 ”对话框中,单击“ 确定”。

    8. 在对话框中单击“ ”,通知 MSDTC 服务将重启。 重启 MSDTC 服务后,单击对话框中的“ 确定 ”。

    9. 在“ 我的计算机属性 ”对话框中,单击“ 确定”。

  4. 将 MSDTC 添加到 Windows 防火墙例外列表(如果尚未添加)。 运行以下命令。

    netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable  
    

另请参阅

开发 BizTalk 应用程序