Condividi tramite


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