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()