Last July 26th Microsoft has announced their Cumulative Update 4 for BizTalk Server 2013 R2 that covers the issues with the SAP adapter that some systems may be facing along with other fixes. Here at Art2link we’ve prepared a list of changes, improvements, and notes you should read before installing this Cumulative Update 4. We’ve also included a download link.
3162562 FIX: SAP Binding constructor fails with NullReferenceException
After you install Microsoft BizTalk Server 2013 R2 CU2, code that invokes the SAPBinding(String configurationName) constructor fails as follows:
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Adapters.SAP.SAPBinding.get_ConnectorType()
at Microsoft.Adapters.SAP.SAPBinding..ctor(String configurationName) at ConsoleApplication.Program.Main(String[] args) in c:ProjectsConsoleApplicationConsoleApplicationProgram.cs:line 25
Note The calls to default SAPBinding() constructor work fine.
3162564 FIX: WCF-SAP NCO Adapter fails when transport properties have spaces
WCF-SAP adapter may fail when you set the ConnectorType value to NCo. This occurs when any of the transport properties contain spaces within the value. In this situation, you receive an error message that resembles the following:
Connecting to the LOB system has failed.
Destination NCoConnection does not exist.System.IndexOutOfRangeException
Index was outside the bounds of the array.
Microsoft.Adapters.SAP.NCo.RfcClientConnection.GetParameters(System.String)
SAP.Middleware.Connector.RfcDestinationManager.GetDestination(System.String)
Microsoft.Adapters.SAP.NCo.RfcClientConnection.Open()
Microsoft.Adapters.SAP.SAPConnection.OpenNCoConnection()
Microsoft.Adapters.SAP.SAPConnection.Open(System.TimeSpan)
Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnection(System.Guid, System.TimeSpan)
3164725 FIX: IDOCs sent with BizTalk WCF-SAP NCO adapter are misaligned in SAP
Assume that you use a WCF-SAP adapter, and you set the ConnectorType value to NCo. When you send IDOCs to SAP, the IDOCs misaligned within SAP. This issue occurs when the segment is missing the DATAHEADERCOLUMN_PSGNUM and DATAHEADERCOLUMN_SEGNUM fields.
3164728 FIX: WCF-SAP NCO adapter fails when saprfc.ini file contains comments in BizTalk Server
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 could fail 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)”.
3164730 FIX: NullReferenceException is thrown when you change ConnectorType on WCF-SAP send port in BizTalk Server
When you change the ConnectorType property on a WCF-SAP send port in BizTalk Server, the port may fail at runtime. You may receive an error message that resembles the following:
A message sent to adapter “WCF-SAP” on send port “SAPSP” with URI “sap://CLIENT=###;LANG=EN;@a/sapserver/##?RfcSdkTrace=False&AbapDebug=False” is suspended.
Error details: System.NullReferenceException: Object reference not set to an instance of an object.
Server stack trace:
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
Additionally, the ConnectorType change does not take effect even after the configured cache refresh interval.
3165515 FIX: BizTalk HTTP send host crashes FireTransmitComplete during time-outs
When a BizTalk HTTP send port times out, the host instance that the send port is running in may terminate. When this issue occurs, you may see error messages that resemble the following:
Log Name: Application
Source: BizTalk Server
Event ID: 5743
Description:
The adapter failed to transmit message going to send port “MySendPort” with URL “http://webserver/myapp.aspx”. It will be retransmitted after the retry interval specified for this Send Port. Details:”The HTTP send adapter cannot complete the transmission within the specified time.
Destination: http://webserver/myapp.aspx “.
Log Name: Application
Source: .NET Runtime
Event ID: 1026
Description:
Application: BTSNTSvc.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Stack:
at Microsoft.BizTalk.HttpTransport.HttpAsyncTransmitter.FireTransmitComplete(System.Exception)
at Microsoft.BizTalk.HttpTransport.HttpAsyncTransmitter.TimeoutCallback(System.Object, Boolean)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(System.Object, Boolean)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_t(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.Object, Boolean)
Log Name: Application
Source: Application Error
Event ID: 1000
Description:
Faulting application name: BTSNTSvc.exe, version: 3.11.158.0, time stamp: 0x538aea40
Faulting module name: KERNELBASE.dll, version: 6.2.9200.17637, time stamp: 0x5697fdbe
Exception code: 0xe0434352
Fault offset: 0x00010192
Faulting process id: 0x2c18
Faulting application start time: 0x01d1a544c0a2cd2a
Faulting application path: C:Program Files (x86)Microsoft BizTalk Server 2013 R2BTSNTSvc.exe
Faulting module path: C:WindowsSYSTEM32KERNELBASE.dll
Report Id: 0b5ba136-1168-11e6-943e-005056b26aca
Faulting package full name:
Faulting package-relative application ID
3167704 FIX: Redeploy of schema referenced by maps fails after you install BizTalk Server
After you install Microsoft BizTalk Server, and then you redeploy a schema that’s referenced by maps, you may receive the following error messages:
Removal of the assembly failed. Make sure that all items in the assembly you are trying to remove fulfill the following conditions:
1. Pipelines, maps, and schemas are not being used by Send Ports or Receive Locations in the same or referenced application(s)
2. Roles have no enlisted parties
Database Error:
The DELETE statement conflicted with the REFERENCE constraint “bts_sendport_transform_foreign_transformid”. The conflict occurred in database “BizTalkMgmtDb”, table “dbo.bts_sendport_transform”, column ‘uidTransformGUID’.
The DELETE statement conflicted with the REFERENCE constraint “fk_bt_mapspec_bts_item”. The conflict occurred in database “BizTalkMgmtDb”, table “dbo.bt_MapSpec”, column ‘itemid’.The DELETE statement conflicted with the REFERENCE constraint “bts_sendport_transform_foreign_transformid”. The conflict occurred in database “BizTalkMgmtDb”, table “dbo.bts_sendport_transform”, column ‘uidTransformGUID’.
Download link here
Download Cumulative Update 4 for BizTalk Server 2013 R2 now.
IMPORTANT
To apply the corresponding hotfixes for the following components, you must have the components installed:
- Microsoft UDDI Services 3.0 (this is included on the BizTalk Server 2013 R2 installation disk)
- Microsoft BizTalk Adapters for Enterprise Applications (also known as BizTalk LOB Adapters)
- Microsoft BizTalk 2013 R2 Accelerator
Remember that each cumulative hotfix package includes all the component packages. However, a cumulative update package updates only those components that are installed on the system