How often have you seen error messages like this
There was a failure executing the receive pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=184.108.40.206, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “XML disassembler” Receive Port: “ReceivePort3” URI: “C:BTSSamplesSOAPMessagingOnlyFileDropsMSG_IN *.xml” Reason: Cannot locate document specification because multiple schemas matched the message type “http://Microsoft.Samples.BizTalk.WebServices.Consuming.SampleWebService/ Customers.xsd#CustomerInfo”.
If you are working with multiple applications in Biztalk at the same time, its quite often you’ll end up in situation like this in your development machine. In situations like this I used to open Biztalk Applications one by one inside the Biztalk Administration console (2006), navigate to Schema node and look for any matching schemas with same RootName and TargetNamespace, after a while it became so annoying, so I build this small application called “Schema Detector”, its a .NET winforms application which utilizes Biztalk ExplorerOM to loop through each deployed schemas in the management database, if a specified schema with RootName and TargetNamespaces matches, it then list the schema as shown in the below figure.
You can now easily detect the duplicate deployment of the schemas in the Applications, as highlighed in the above picture.
Download the source code for the tool here. Open it in visual studio and compile it. Didn’t provide the exe for security reasons.