Symptoms
Assume that you use a WCF-SAP adapter, and you set the ConnectorType value to NCo and you set a specific RFC Server Destination Name. When the saprfc.ini file contains extra comments, spaces, and carriage returns within the destination definitions, the WCF-SAP adapter fails and you receive the following error message:
The Messaging Engine failed to add a receive location "MyReceiveLocation" with URL "sap://CLIENT=###;LANG=EN;@a/sapserver/##?ListenerDest=DEST1&RfcSdkTrace=False&AbapDebug=False" to the adapter "WCF-SAP". Reason: "System.IndexOutOfRangeException: Index was outside the bounds of the array.at Microsoft.Adapters.SAP.NCo.SAPRfcFileParameters.GetSectionInformationFromIniFile(String tempFilePath, String destinationNameFromUri, Int32 sectionCount)
at Microsoft.Adapters.SAP.NCo.RfcServerConnection.GetParameters(String serverName) at Microsoft.Adapters.SAP.NCo.RfcServerConnection.Open(RfcClientConnection conn) at Microsoft.Adapters.SAP.SAPInboundContract.InitializeRfcServerConnectionNCo(String connectionArguments) at Microsoft.Adapters.SAP.SAPInboundContract.StartListener(String[] listenerActions, TimeSpan timeout) at Microsoft.ServiceModel.Channels.Common.Channels.AdapterChannelListener`1.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable() at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor(BizTalkEndpointContext endpointContext, IBTTransportProxy transportProxy, ControlledTermination control) at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver`2.AddReceiveEndpoint(String url, IPropertyBag adapterConfig, IPropertyBag bizTalkConfig)".Resolution
Cumulative update information
The fix that resolves this issue is included in the following cumulative update for BizTalk Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the service pack and cumulative update list for BizTalk Server. Learn about BizTalk Server hotfixes and cumulative update support.
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.