使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

适用范围

本文适用于︰

  • Microsoft BizTalk 适配器包 2.0

  • Microsoft BizTalk 适配器包 2010

介绍

本文介绍了累积更新可以从 Microsoft BizTalk 适配器包添加到基于 Microsoft Windows 通讯基础 WCF 的 SAP 适配器的ClearRfcContext绑定属性中包含的更新。

症状

请考虑以下情况:

  • 您必须运行 Microsoft BizTalk Server 2006 R2、 Microsoft BizTalk Server 2009年或 Microsoft BizTalk Server 2010 中的计算机。

  • 您可以使用基于 WCF 的 SAP 适配器连接到 SAP R/3 服务器。注意 基于 WCF 的 SAP 适配器包含在 Microsoft BizTalk 适配器包 2.0 或 Microsoft BizTalk 适配器包 2010年。

  • 您创建的 BizTalk 应用程序使用 SAP 适配器调用远程函数调用 (Rfc) 在 SAP R/3 服务器上使用 SAP 全局变量。

  • EnableConnectionPooling绑定属性设置为True时。

在此方案中,您注意到通过 Rfc 返回的数据是不是您所期望的内容。 此外,返回的数据似乎受到以前调用到相同的 RFCs.The ClearRfcContext绑定属性所做的可以防止类似于那些在这种情况下发生的问题。

原因

因为启用了连接池后,相应的 SAP 连接返回到连接池执行 SAP R/3 服务器上的一个 RFC 调用后,将出现此问题。 在下一次的 RFC 调用到达时,相同的 SAP 连接从连接池中提取并用于执行调用。如果 RFC 使用一些全局变量,并且它们被不正确地清理,RFC 下一次使用存储在以前的调用中的全局变量的值。 这种情况可能会导致意外的结果。注意 只有 RFC 使用全局变量,并且全局变量是不正确地清理根据 RFC,将出现此问题。

解决方案

要解决此问题,请应用此更新。 然后,将ClearRfcContext绑定属性设置为True

累积更新信息

BizTalk 适配器包 2010

可以解决此问题的修复程序包含 BizTalk 适配器包 2010 累积更新 1 中。  有关如何获取此更新累积程序包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 2539794累积更新包 1 BizTalk 适配器包 2010年

BizTalk 适配器包 2.0

此修复程序首次发布的累积更新包 2 BizTalk 适配器包 2.0。 有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2531605 累积更新包 2 BizTalk 适配器包 2.0

更多信息

有关此更新的说明

  • 只有EnableConnectionPooling绑定属性设置为True时才能适用ClearRfcContext绑定属性。

  • 如果没有此更新,基于 WCF 的 SAP 适配器不清除 SAP R/3 上下文。 因此,行为等同于ClearRfcContext绑定属性设置为False时发生的情况。 默认值为False

  • 当启用了连接池,并ClearRfcContext绑定属性设置为True时,则适配器刷新 SAP R/3 会话,并清除 SAP 服务器端上的所有全局变量。 因此,获得与当前调用的任何状态不影响下一个调用同一个 SAP 连接上。

  • 当启用了连接池并ClearRfcContext绑定属性设置为False时,适配器将不会清除 SAP R/3 会话。 在这种情况下,如果 RFC 使用一些全局变量,这些变量被不正确地清理 RFC 下一次可能使用从当前调用的全局变量中存储的值。 这种情况下产生意外的结果。

  • 由于ClearRfcContext绑定属性需要其他往返到 SAP R/3 服务器,您可能看到小降低性能, ClearRfcContext绑定属性设置为True时。 我们建议只有在 RFC 使用全局变量和 RFC 不清理的全局变量进行适当时将ClearRfcContext绑定属性设置为True

  • 代理方案,如从.NET 代码中使用适配器时,您可能想要清除 RFC 调用同一代理/通道实例之间的 SAP R/3 会话。 在此更新中,名为RfcClearContext的新操作时,添加适配器服务引用向导的RFC节点下SapBinding选项。 RfcClearContext操作尝试清除 SAP R/3 上下文并返回下列值之一:

    • True — SAP R/3 上下文的清洗是成功的。 您可以附加调用代理通道上。

    • False -关闭或开发错误时操作试图清理 SAP R/3 上下文的连接。 您应放弃当前的代理/通道,因为任何进一步的调用可能会导致出现通信错误。

参考

有关如何与 SAP 系统建立连接的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 网站:

建立与 SAP 系统的连接BizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2003907 BizTalk Server 修补程序有关的信息

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×