We get the BTXMessageDelivery exception with event ID:10001
We get the BTXMessageDelivery exception with the details in the event viewer as follows:
Event Type: Error
Event Source: XLANG/s
Event Category: None
Event ID: 10001
Date: 23/01/2009
Time: 9:15:21
User: N/A
Computer: SCS002BZPR0002
Description:
Failed while delivering a message to a service instance. Message details follow.
Message ID: f2d316ab-db78-4c7d-aad0-dd96190d18b7
Service Instance ID: 2c641a56-80ff-462f-b5e7-df4eb4fb62bb
Service Type ID: 6498c049-0690-7758-a6b0-511f8e36f8fa
Subscription ID: 00000000-0000-0000-0000-000000000000
Body part name:
Service type: SAS.Int.GADU_SNS.NotificacionBajaServicioSalud.NotifBajaServicioSalud, SAS.Int.GADU_SNS.NotificacionBajaServicioSalud, Version=1.0.0.0, Culture=neutral, PublicKeyToken=dc6e1140c14ef65d
Exception type: BTXMessageDeliveryException
The following is a stack trace that identifies the location where the exception occured
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.DeliverMessage(Guid subscriptionId, IBTMessage msg, Boolean& receiveCompleted)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._tryReceiveOneMessage(Boolean& loggedError, Guid& instanceId, IBTMessage currMsg)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._receiveOneMessage(Guid& instanceId, Guid& serviceId, IBTMessage currentMsg)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession.ReceiveMessages(IBTMessage[] messages, Int32 firstIdx, Int32 count)
at Microsoft.BizTalk.XLANGs.BTXEngine.AppDomains.AppDomainRoot.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object objMsg)
at Microsoft.XLANGs.BizTalk.CrossProcess.AppDomainStubProxy.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object msgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg)
at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg)
at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[] args)
at System.Threading.Thread.CompleteCrossContextCallback(InternalCrossContextDelegate ftnToCall, Object[] args)
at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(IMessage reqMsg)
at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(IMessage msg)
at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args)
at System.Threading.Thread.CompleteCrossContextCallback(InternalCrossContextDelegate ftnToCall, Object[] args)
Additional error information:
String was not recognized as a valid DateTime.
Exception type: FormatException
Source: mscorlib
Target Site: System.DateTime Parse(System.String, System.Globalization.DateTimeFormatInfo, System.Globalization.DateTimeStyles)
The following is a stack trace that identifies the location where the exception occured
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.HandleSpecialMessage(IBTMessage msg)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.DeliverMessageImpl2(Guid subscriptionId, IBTMessage msg, Boolean& receiveCompleted)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.DeliverMessageImpl(Guid subscriptionId, IBTMessage msg, Boolean& receiveCompleted)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.DeliverMessage(Guid subscriptionId, IBTMessage msg, Boolean& receiveCompleted)
n:
Cause
======
If we have two machines for processing BizTalk messages, this issue occurs if the regional setting on the two machines are different.
So if an orchestration dehydrates on one box the timer message would be created on that box and if it rehydrates on another box then the same timer message would be consumed on the other box.
So if these two boxes have the different regional setting this results in the Format exception.
We can check the regional setting by looking at the "Regional and Language options" in control panel.
Lets say on one box we have the “Standard and format” option for the Regional options tab in regional and language option page set to English and on the other box we have the same option set to Spain, this issue occurs.
Also make sure that the language selected on the advanced tab of the regional and language option page matches on both the servers.
You should have same “Regional and language options” setting on regional options and advanced tab on all boxes in build and production to prevent any scenario that can cause this
On two production processing servers SCS002BZPR0001 and SCS002BZPR0002 the customer had the below mismatched setting
SCS002BZPR0001
SCS002BZPR0002
SCS002BZPR0001
SCS002BZPR0002