Thursday, February 09, 2006

Biztalk 2004: Issue you might encounter when you refactor

So I decided to split a project that contained 4 orchestration. I now have
- 1 project containing a receive pipeline
- 4 other projects containing the orchestrations, referencing the above project
Apart from splitting the project, I decided to clean up the namespaces for the schema’s and property schema files. “Easy enough”, I thought, “Edit the schemas and property schemas using notepad or some other XML editor and we’re done”. Better think again. When deploying the “split” DLLs I encountered the following error in our test environment:

Property "ns0:Something"
(msgType="http://foo#bar ")
not found in Configuration database.

The solution for this problem is not to edit your property schema files, but generate them again, if you’re refactoring namespaces or types. Reason for this is the fact that properties have their GUIDs and these have to be unique. Should you change the namespace and not the GUID for this property, uniqueness is not maintained.
So, in short, refactoring Biztalk projects is a pain, better think twice (or more) before starting to implement ;-)

No comments: