I got the following error after successful deployment of assemblies in BizTalk. I have BizTalk installed in federated (distributed) way. 4 BizTalk servers associated with same deployment and I have to install orchestration assembly in one server and gac it all other servers. After installing and gacing when it starts processing I encountered unique and weird problem. Some time my orchestration picks up message and some other time throws following error.
Event Type: Error
Event Source: XLANG/s
Event Category: None
Event ID: 10001
Date: 2009-1-23
Time: 15:42:01
User: N/A
Computer: SPDB-EA2-APP
Description:
Failed while creating a EA_CostCenterList.EACostCenterList service.
Exception type: ServiceCreationException
The following is a stack trace that identifies the location where the exception occured
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createOrRehydrateRealService(Guid& instanceId, IBTMessage currMsg)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._serviceCreator(Guid& instanceId, Object objCurrMsg)
at Microsoft.XLANGs.Core.ResourceContainer._allocateResource(Guid& key, UInt32 hashKey, ResourceCreator resCreator, Object creationContext)
at Microsoft.XLANGs.Core.ResourceContainer.Dispense(Guid& key, ResourceCreator resCreator, Object creationContext)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._dispenseService(Guid& instanceId, IBTMessage currMsg)
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:
Value does not fall within the expected range.
Exception type: ArgumentException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Int32 GetCapabilities(System.Guid ByRef)
The following is a stack trace that identifies the location where the exception occured
at Microsoft.BizTalk.Interop.IBTPEPInfoLookup.GetCapabilities(Guid& receivePort)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding..ctor(Guid bindingId, PortInfo portInfo)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.CreatePortBinding(PortInfo portInfo, Guid bindingId)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.InitializeBinding(PortInfo portInfo, IDictionary portToLrp)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXServiceStaticState._initializePortBindings(Type serviceType, IDictionary portToLrp)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXServiceStaticState.Resolve()
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createNewService(Guid& serviceId, Guid& instanceId, BTXServiceStaticState staticState)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createOrRehydrateRealService(Guid& instanceId, IBTMessage currMsg)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
When I checked the installation logs there was no error and also checked whether the orchestration was present in the gac on all the servers and it was there.
So there is something must happened the way it was installed which made BizTalk engine to run the orchestration on and off mode.
And finally it got resolved; below you can find what I did to resolve it.
1. If you encounter the problem like above check all the servers have the assembly gaced.
2. If not gac the dlls in all the server and install the assembly in one server (either by deployment wizard or scripts).
3. Most important thing you should do always is restart the host service for the orchestration in all the servers(restart the host service that your orchestration belonged to)