Symptoms

Consider the following scenario:

  • You have a computer that is running on a double-byte character set (DBCS) language version of a Windows operating system. For example, the computer is running the simplified Chinese version of Windows Server 2003.

  • You create a Microsoft BizTalk project that is based on the Microsoft .NET Framework 2.0.

  • The BizTalk project contains a BizTalk orchestration. The BizTalk orchestration includes a transform shape to transform a map.

  • You deploy the BizTalk project, and you start the BizTalk orchestration.


In this scenario, an event that resembles the following is intermittently logged in the Application log:

Event Type: Error
Event Source: XLANG/s
Event Category: None
Event ID: 10034
Description:
Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'BizTalk_orchestration_name'.

The service instance will remain suspended until administratively resumed or terminated.

If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.

InstanceId: Instance_ID
Shape name: Shape_name
ShapeId: Shape_ID

Exception thrown from: segment n, progress n

Inner exception: Error encountered while executing the transform project_name.map_name. Error: Unable to create the transform.

Exception type: XTransformationFailureException
Source: Microsoft.XLANGs.Engine
Target Site: Void ApplyTransform(System.Type, System.Object[], System.Object[])



The following is a stack trace that identifies the location where the exception occurred:

at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)
at DMSPurchase_Orchestration.Orch_DMSPurchOrder.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Additional error information

Cannot access a closed resource set.

Exception type: ObjectDisposedException
Source: mscorlib
Target Site: System.Object GetObject(System.String, Boolean, Boolean)

The following is a stack trace that identifies the location where the exception occurred:

at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
at System.Resources.RuntimeResourceSet.GetString(String key, Boolean ignoreCase)
at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at Microsoft.CSharp.CSharpCodeGenerator.GenerateCompileUnitStart(CodeCompileUnit e)
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeGenerator.GenerateCodeFromCompileUnit(CodeCompileUnit e, TextWriter w, CodeGeneratorOptions o)
at Microsoft.CSharp.CSharpCodeGenerator.FromDomBatch(CompilerParameters options, CodeCompileUnit[] ea)
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromDomBatch(CompilerParameters options, CodeCompileUnit[] ea)
at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromDom(CompilerParameters options, CodeCompileUnit[] compilationUnits)
at System.Xml.Xsl.XsltOld.Compiler.CompileAssembly(ScriptingLanguage lang, Hashtable typeDecls, String nsName, Evidence evidence)
at System.Xml.Xsl.XsltOld.Compiler.CompileScript(Evidence evidence)
at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorInput input, XmlResolver xmlResolver, Evidence evidence)
at System.Xml.Xsl.XslTransform.Compile(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
at System.Xml.Xsl.XslTransform.Load(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
at System.Xml.Xsl.XslTransform.Load(XmlReader stylesheet, XmlResolver resolver, Evidence evidence)
at Microsoft.XLANGs.BaseTypes.TransformBase.get_Transform()
at Microsoft.XLANGs.RuntimeTypes.TransformMetaData..ctor(Type transformBaseType)
at Microsoft.XLANGs.RuntimeTypes.TransformMetaData._creator(Type t)
at Microsoft.XLANGs.RuntimeTypes.MetadataCache._slowFor(Type t)
at Microsoft.XLANGs.RuntimeTypes.MetadataCache.For(Type t)
at Microsoft.XLANGs.RuntimeTypes.TransformMetaData.For(Type t)
at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)

Cause

This problem occurs because of a known issue in the CultureInfo class of the Microsoft .NET Framework 2.0.

Resolution

To resolve this problem, apply hotfix 2461007. For more information about hotfix 2461007, click the following article number to view the article in the Microsoft Knowledge Base:

2461007 System.ObjectDisposedException may occur when you run a .NET Framework 2.0-based application on a server that has the Chinese (Simplified) or Chinese (Traditional) language pack installed

Status

Microsoft has confirmed that this is a bug in the Microsoft .NET Framework 2.0 Service Pack 2.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!

×