I’ve seendevelopers 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”.
Onetypical 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 assembliesare 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 seendevelopers stuck in frustration. This can happen on large solutions with complex deployment structure with multiple applications, hosts and servers.Considertwo 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 sharingcommon host for send/receiveoperations and in most cases it will bedefault 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 yourhost from send or receive handler dropdown.