Geeks With Blogs
Paul's Petrov Whiteboard [BizTalk, Enterprise Application Integration, Business Process Automation, SOA, .NET]

 I've seen developers stumble across this error. Complete message can look like this:

A message received by adapter "FILE" on receive location "Receive LocationTransform1" with URI "\\server001\\File.IO\ReceiveLocation1\*.*" is suspended.

Error details: There was a failure executing the receive pipeline: "MyApplication.ReceivePipeline, MySolution.Application.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5cf43733eafbdceb" Source: "FlatFileDisassembler" Receive Port: "ReceivePortTransform" URI: "\\server001\\File.IO\ReceiveLocation1\\*.*" Reason: The Disassembler cannot retrieve the document specification using this name: "MySolution.MyApplication.Schemas.Alpha,MySolution.MyApplication.Schemas,Version=1.0.0.0,Culture=neutral,PublicKeyToken=5cf43733eafbdceb".

One typical scenario to receive this error is deploying new schema into BizTalk database and forgetting to install it into the GAC. For single server configuration it is easily avoided if assemblies are added to MSI with option GacOnImport. For multi-server deployment GacOnImport won't be enough as it only installs assembly in the GAC of one box. You still need to run MSI on every box in the group so the GacOnInstall do the job.

Another case when you get to see this message is if one of host instances still using old version of the updated assembly. Restarting host instance(s) should easily take care of the problem. But I've often seen developers stuck in frustration. This can happen on large solutions with complex deployment structure with multiple applications, hosts and servers. Consider two servers BizTalk group where 3 applications are deployed. Each application uses its own host which in turn has two instances (one per server). In total we have 6 host instances in this group. When one of the applications is updated its host instances should be restarted without stopping other's applications hosts.

If applications use the same adapters (i.e. File adapter) and if per application adapter hosts were not assigned then they will be sharing common host for send/receive operations and in most cases it will be default BizTalkApplicationHost. In this situation it's easy to miss restarting required host instance. To avoid this when sharing BizTalk group with multiple applications always assign your dedicated host for send and receive handlers and include corresponding host instances restart operation into post-deployment procedure.

To create adapter host open Platform Settings/Adapters of the BizTalk group administration. Select adapter and add your host as new send and receive handler to adapter configuration. Then, in application configuration, go to send port or receive location properties and select your host from send or receive handler dropdown.

Posted on Wednesday, June 6, 2007 1:22 PM BizTalk | Back to top


Comments on this post: The Disassembler cannot retrieve the document specification using this name...

# re: The Disassembler cannot retrieve the document specification using this name...
Requesting Gravatar...
Thanks a lot. I had the problem of BizTalk not being able to find the schema. I restarted the BizTalk host instance and this solved the issue!
Left by Hemant Bhiwajee on Oct 03, 2008 3:46 AM

Your comment:
 (will show your gravatar)


Copyright © Paul Petrov | Powered by: GeeksWithBlogs.net