In Microsoft BizTalk Server
2004, you use a correlated receive mode in a long-running orchestration. If you
periodically change the schema definition, the
orchestration may be suspended. Additionally, the following error is sometimes logged in the Application log:
Event Source XLANG/S
Event ID 10033
Event Type
Error
Description: Uncaught exception (see the 'inner exception' below)
has suspended an instance of service
'Orchestrations.RetestOrchestration(ff7eb9a1-8269-98a7-9fbb-a534d9f7bbfd)'.
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: 073b1a52-cb9a-48fe-a5b3-e65c6edec00a
Shape name: Cannot get
friendly name
ShapeId: eb70ee3d-798f-4cd7-8f63-e412c9cc1761
Exception thrown from: segment 1, progress 66
Inner exception: Received
unexpected message type 'Schemas.Response, Schemas, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=0388ea5fb11d1bc1' does not match expected type
'Schemas.Response, Schemas, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=0388ea5fb11d1bc1'.
Exception type:
UnexpectedMessageTypeException
Source: Microsoft.XLANGs.Engine
Target Site: Void _verifyPublisherSchema()
Help Link:
The following
is a stack trace that identifies the location where the exception occured
at Microsoft.XLANGs.Core.XMessage._verifyPublisherSchema()
at
Microsoft.XLANGs.Core.XMessage.FetchProperties()
at
Microsoft.XLANGs.Core.XMessage.GetContentProperty(Type propType)
at
Microsoft.XLANGs.Core.XMessage.GetPropertyValue(Type propType)
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXMessage.GetPropertyValue(Type propType)
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXMessage.GetPropertyValueThrows(Type
propType)
at Orchestrations.RetestOrchestration.segment1(StopConditions
stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,
StopConditions stopCond, Exception& exp)
Howwever, you
expect
one of the following events to occur consistently whenever a schema-version mismatch is
detected:
- BizTalk Server suspends the orchestration
and logs the error.
- BizTalk Server does not suspend the
orchestration and does not throw an exception .
Hotfix information
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
You cannot roll back this
hotfix from the BizTalk Server environment. Therefore, before you apply this
hotfix to a production environment, make sure that you fully test this hotfix
in a test environment. Do not try to use the
Add or Remove
Programs item in Control Panel to remove this hotfix. If you do take
this action, the database changes are not rolled back, and the BizTalk Server
environment is left in an inconsistent state. For more information, refer to
the Readme.txt file that is included in the hotfix package.
Prerequisites
You must have BizTalk Server 2004 Service Pack 2 installed to
apply this hotfix.
Restart requirement
You do not have to restart the BizTalk Server services after you
apply this hotfix.
Hotfix replacement information
This hotfix does not replace any other hotfixes.
File information
The English version of this hotfix has the file
attributes (or later file attributes) that are listed in the following table.
The dates and times for these files are listed in Coordinated Universal Time
(UTC). When you view the file information, it is converted to local time. To
find the difference between UTC and local time, use the
Time
Zone tab in the
Date and Time item in Control
Panel.
Collapse this tableExpand this table
| File name | File version | File
size | Date | Time | Platform |
|---|
| Btsmessageagent.dll | 3.0.7425.0 | 604,008 | 20-Mar-2007 | 19:00 | x86 |
| Microsoft.biztalk.interop.agent.dll | 3.0.7425.0 | 54,624 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.basetypes.dll | 3.0.7425.0 | 75,104 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.biztalk.crossprocess.dll | 3.0.7425.0 | 83,296 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.biztalk.engine.dll | 3.0.7425.0 | 247,136 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.biztalk.process.dll | 3.0.7425.0 | 71,008 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.engine.dll | 3.0.7425.0 | 243,040 | 27-Mar-2007 | 14:51 | x86 |
| Microsoft.xlangs.runtimetypes.dll | 3.0.7425.0 | 128,352 | 27-Mar-2007 | 14:51 | x86 |
After you install this hotfix, the error is logged in the
Application log every time that a schema-version mismatch is detected. In other
words, this hotfix will make sure that the orchestration instance is suspended
and that an error is logged every time that a schema-version mismatch is
detected. However, if you do not want the error to be logged, you can change
the Btsntsvc.exe.config file so that the
UnexpectedMessageTypeException exception is skipped.
In some long-running
orchestrations that use a correlating receive mode, schema updates cannot be
made. In this scenario, you can override the orchestration suspension when
schema-version mismatches are detected. We recommend that you complete all
active instances or publish a new application. However, if the application has
already been published, you can change the Btsntsvc.exe.config file so that the
UnexpectedMessageTypeException exception is skipped. To support these configuration changes, you
must have the hotfix installed. If you select to override the
Btsntsvc.exe.config file on an instance of BizTalk Server, no schema changes
must be made to the published schema. If changes are made, unpredictable
results can occur.
To change the Btsntsvc.exe.config file so that the
unexpectedmessagetype exception is skipped, add the following sections to the
configuration element:
<configSections>
<section
name="xlangs"
type="Microsoft.XLANGs.BizTalk.CrossProcess.XmlSerializationConfigurationSectionHandler, Microsoft.XLANGs.BizTalk.CrossProcess" />
</configSections>
<xlangs>
<Configuration>
<AppDomains WeakXsdPartValidation ="true"/>
</Configuration>
</xlangs>
After you change the Btsntsvc.exe.config file, the Btsntsvc.exe.config
file resembles the following section:
<?xml version="1.0" ?>
<configuration>
<configSections>
<section
name="xlangs"
type="Microsoft.XLANGs.BizTalk.CrossProcess.XmlSerializationConfigurationSectionHandler, Microsoft.XLANGs.BizTalk.CrossProcess" />
</configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="BizTalk Assemblies;Developer Tools;Tracking" />
</assemblyBinding>
</runtime>
<xlangs>
<Configuration>
<AppDomains WeakXsdPartValidation ="true"/>
</Configuration>
</xlangs>
<system.runtime.remoting>
<channelSinkProviders>
<serverProviders>
<provider id="sspi" type="Microsoft.BizTalk.XLANGs.BTXEngine.SecurityServerChannelSinkProvider,Microsoft.XLANGs.BizTalk.Engine" securityPackage="negotiate" authenticationLevel="packetPrivacy" />
</serverProviders>
</channelSinkProviders>
<application>
<channels>
<channel ref="tcp" port="0" name="">
<serverProviders>
<provider ref="sspi" />
<formatter ref="binary" typeFilterLevel="Full"/>
</serverProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section.