本文适用于以下产品:
-
BizTalk 适配器包 2.0
-
BizTalk 适配器包 2010
症状
请考虑以下情况:
-
客户端程序使用基于 Microsoft Windows 通讯基础 WCF 的 SAP 适配器 (也称为 Microsoft BizTalk 适配器共 3.0) 来调用 WCF 服务模型,在 SAP 系统中的一些远程函数调用。注意 此适配器是包含在 Microsoft BizTalk 适配器包 2.0 或 Microsoft BizTalk 适配器包 2010 年。
-
出现网络问题,请和 WCF SAP 适配器失去与 SAP 系统的连接。
在此方案中,SAP 系统返回的RFC_FAILURE错误代码和远程函数调用不起作用。 此外,遇到它异常,并收到以下错误消息:
System.Threading.ThreadAbortException: 线程已被 aborted.at 处 Microsoft.Adapters.SAP.CNativeInvoker.Invoke CNativeInvoker * (UInt32 UInt32、 Char *、 RFC_PARAMETER *、 RFC_PARAMETER *、 RFC_PARAMETER *、 RFC_TABLE * (Char * *) RfcCallReceiveExUconnectionHandle,m_szFunctionName Char *)
后一段时间,遇到许多RFCException异常,并收到许多类似于以下内容的错误:
Microsoft.Adapters.SAP.RFCException: 详细介绍了: 错误代码 = RFC_FAILURE。 AdapterErrorMessage = RfcCallReceiveEx RFC 调用时返回的错误: Z_GET_PO_BY_SAP。
此外,在 BizTalk 服务器上生成下面的调用堆栈跟踪:
在 Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke() Microsoft.Adapters.SAP.RFCException.HelperThrow (Int32 某一 retCode,字符串 additionalErrorMessage)
原因
因为 WCF SAP 适配器错误地重用 SAP 通道在 SAP 系统中发生此问题。 WCF SAP 适配器收到RFC_FAILURE错误代码后,WCF SAP 适配器遇到错误。 因此,在 SAP 系统中的 SAP 通道错误地重新使用。
解决方案
累积更新信息
BizTalk 适配器包 2010
可以解决此问题的修复程序包括在累积更新包 2 BizTalk 适配器包 2010 中。 有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:2572999累积更新包 2 BizTalk 适配器包 2010年
BizTalk 适配器包 2.0
修补程序可以解决此问题为 BizTalk 适配器包 2.0 包含在累积更新包 3 中。 有关如何获取此累积更新程序包,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2557150 累积更新包 3 BizTalk 适配器包 2.0
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
更多信息
有关如何使用 WCF 服务模型来调用 Rfc 的详细信息,请访问下面的 MSDN 网站:
如何使用 WCF 服务模型调用 RfcBizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2003907 BizTalk Server 修补程序有关的信息