Reputation: 111
I tried to call a .net class through BizTalk orchestration. But when I send the message to the BizTalk, it not really call the class instead got the following error.
Can anyone help ?
xlang/s engine event log entry: Failed while creating a BizTalk_Server_test.BizTalk_Orchestration_1 service. Exception type: ServiceCreationException The following is a stack trace that identifies the location where the exception occured 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) Additional error information: Could not load file or assembly 'BizTalk Server test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=56064b11c189a7aa' or one of its dependencies. The system cannot find the file specified. Exception type: FileNotFoundException Source: mscorlib Target Site: Void GetTypeByName(System.String, Boolean, Boolean, Boolean, System.Runtime.CompilerServices.StackCrawlMarkHandle, Boolean, System.Runtime.CompilerServices.ObjectHandleOnStack) The following is a stack trace that identifies the location where the exception occured at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) at System.Type.GetType(String typeName, Boolean throwOnError) 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)
Upvotes: 1
Views: 2115
Reputation: 1127
Your .Net code needs to be in the GAC (Global Assembly Cache) so the fully qualified typename can be resolved by BizTalk's underlying .Net runtime.
Depending on the version of BizTalk (2010 vs earlier) and your current architecture (32-bit vs 64-bit), there is a fairly simple post-build task you can add to your Visual Studio project to automatically do this for you. Here's a post I wrote a while ago.
Upvotes: 1
Reputation: 3205
As the message says: it appears that your assembly 'BizTalk Server test, Version=1.0.0.0' or one of its dependencies where not present in any of the reference folders in which BizTalk was looking. Have you investigated whether the required assembly has been properly deployed?
Upvotes: 1