Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: Remote function calls do not work after the WCF-based SAP adapter receives the RFC_FAILURE error code in BizTalk Adapter Pack


View products that this article applies to.

This article applies to the following product:
  • BizTalk Adapter Pack 2.0
  • BizTalk Adapter Pack 2010

↑ Back to the top


Symptoms

Consider the following scenario:
  • A client program uses the Microsoft Windows Communication Foundation (WCF)-based SAP adapter (also known as Microsoft BizTalk Adapter for mySAP Business Suite 3.0) to invoke some remote function calls in the WCF service model on an SAP system.

    Note This adapter is included in Microsoft BizTalk Adapter Pack 2.0 or in Microsoft BizTalk Adapter Pack 2010.
  • A network issue occurs, and the WCF-SAP adapter loses its connection to the SAP system.
In this scenario, the SAP system returns the RFC_FAILURE error code and remote function calls do not work. Additionally, a ThreadAbortException exception is encountered, and you receive the following error:
System.Threading.ThreadAbortException: Thread was being aborted.

at RfcCallReceiveExU(UInt32 , Char* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_TABLE* , Char** )

at Microsoft.Adapters.SAP.CNativeInvoker.Invoke(CNativeInvoker* , UInt32 connectionHandle, Char* m_szFunctionName)

After a while, many RFCException exceptions are encountered, and you receive many errors that resemble the following:
Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_FAILURE. AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: Z_GET_PO_BY_SAP.

Also, the following call stack trace is generated on the BizTalk server:
at Microsoft.Adapters.SAP.RFCException.HelperThrow(Int32 retCode, String additionalErrorMessage)

at Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke()

↑ Back to the top


Cause

This issue occurs because the WCF-SAP adapter incorrectly reuses the SAP channel in the SAP system.

After the WCF-SAP adapter receives the RFC_FAILURE error code, the WCF-SAP adapter encounters an error. Therefore, the SAP channel in the SAP system is incorrectly reused.

↑ Back to the top


Resolution

Cumulative update information

For BizTalk Adapter Pack 2010

The hotfix that resolves this issue is included in cumulative update package 2 for BizTalk Adapter Pack 2010. For more information about how to obtain this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:


2572999 Cumulative update package 2 for BizTalk Adapter Pack 2010

For BizTalk Adapter Pack 2.0

The hotfix that resolves this issue is included in cumulative update package 3 for BizTalk Adapter Pack 2.0.

For more information about how to obtain the cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2557150 Cumulative update package 3 for BizTalk Adapter Pack 2.0

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More Information

For more information about how to use the WCF service model to invoke RFCs, visit the following MSDN website:
For more information about BizTalk Server hotfixes, click the following article number to view the article in the Microsoft Knowledge Base:
2003907 Information about BizTalk Server hotfixes

↑ Back to the top


Keywords: kbqfe, kbfix, kbbtsadapters, kbexpertiseadvanced, kbsurveynew, kb

↑ Back to the top

Article Info
Article ID : 2556304
Revision : 2
Created on : 9/11/2018
Published on : 9/11/2018
Exists online : False
Views : 181