Last night I was trying receive an XML document with no namespace. Which, in my opinion, is more difficult that it should be. Anyway, I had mistakenly used a root node of “RPError” for the XML with no namespace experiment. This was a mistake because I already had an existing and different assembly deployed to BizTalk from another sample project with the same root node name and no namespace. No matter what changes I made to my XML file it continued to work. I even un-deployed my experimental assembly and it still worked. It was like a ghost schema.
It finally hit me that I may have another assembly with the same root node name. It turns out that you can query the BizTalkMgmtDb.bt_DocumentSpec table and return a list of deployed assemblies. This table not only contains a list of deployed assemblies but message types (schemas and root node) too.