症状
假定您使用 WCF SAP 适配器,将ConnectorType值设置为NCo和设置特定 RFC 服务器目标名称。当 saprfc.ini 文件中包含额外的注释、 空格和回车内目的定义时,WCF SAP 适配器无法正常工作,并且您会收到以下错误消息︰
消息引擎无法添加接收位置 url"sap://CLIENT=###;"MyReceiveLocation"LANG=EN;@a/sapserver/##?ListenerDest = DEST1 & RfcSdkTrace = False & AbapDebug = False"适配器"WCF SAP"。原因:"System.IndexOutOfRangeException︰ 索引已超出界限的 array.at Microsoft.Adapters.SAP.NCo.SAPRfcFileParameters.GetSectionInformationFromIniFile tempFilePath 字符串、 字符串 destinationNameFromUri (Int32 sectionCount)
在 Microsoft.Adapters.SAP.NCo.RfcServerConnection.GetParameters (服务器名称字符串)
在 Microsoft.Adapters.SAP.NCo.RfcServerConnection.Open (RfcClientConnection conn)
在 Microsoft.Adapters.SAP.SAPInboundContract.InitializeRfcServerConnectionNCo (字符串 connectionArguments)
在 Microsoft.Adapters.SAP.SAPInboundContract.StartListener (字符串 [] listenerActions,时间跨度超时)
在 Microsoft.ServiceModel.Channels.Common.Channels.AdapterChannelListener'1.OnOpen (时间跨度超时)
在 System.ServiceModel.Channels.CommunicationObject.Open (时间跨度超时)
在 System.ServiceModel.Channels.CommunicationObject.Open (时间跨度超时)
在 System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen (时间跨度超时)
在 System.ServiceModel.Channels.CommunicationObject.Open (时间跨度超时)
在 System.ServiceModel.ServiceHostBase.OnOpen (时间跨度超时)
在 System.ServiceModel.Channels.CommunicationObject.Open (时间跨度超时)
在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable()
在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor (BizTalkEndpointContext endpointContext,IBTTransportProxy transportProxy,ControlledTermination 控件)
在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver'2.AddReceiveEndpoint (字符串 url、 IPropertyBag adapterConfig、 IPropertyBag bizTalkConfig)"。
解决方案
累积更新信息
解决此问题的修补程序是为 BizTalk Server 以下累积更新中包含的︰
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
参考资料
为 BizTalk Server,请查阅服务包和累积更新列表。
了解修补程序 BizTalk Server 和累积更新支持。
本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。Microsoft 不做这些产品的任何担保、默示或其他有关的性能或可靠性。