Thursday, June 09, 2011

Schema referenced by Map...has been deleted

While trying to troubleshoot an automated installer for the BizTalk ACME.Notifications application, my client was seeing this error:

Schema referenced by Map 'ACME.Notifications.Insertion.BizTalk.Transforms.Notification_to_InsertionRequest' has been deleted. The local, cached version of the BizTalk Server group configuration is out of date. You must refresh the BizTalk Server group configuration before making further changes.

We saw it in the log of the automated installation, and then when we tried to use the BizTalk Administration Console to view the application, we also saw the error. The error also prevented us from removing DLLs from the ACME.Notifications application.

The map named in the error is the only schema where I actually changed the name of one of the schemas in the map. I think that the map reference got broken when we installed the new schema DLL which no longer had the old map name, and at that point BizTalk choked – in a way that was unrecoverable.

We tried running the auto installer again, but that did not resolve the issue. We also tried installing this hotfix:, which references the same error message, but that did not resolve the issue, even after re-deploying.

In order to fix this, we had to go into the database BizTalkMgmtDb and delete the relevant map from the table bt_MapSpec. Since this table does not list the names of the maps, I found the relevant schema by looking that the field “outspec_docspec_name”, which had the old name of the schema. Then I used the BizTalk Management Console to delete all of the DLLs, followed by redeploying, and everything started working again.

In order to prevent this from being a possible issue in the future, we rewrote the installer so that it deletes the DLLs from BizTalk before trying to add in the latest versions.