With the need to deploy all port bindings from Visual Studio straight to BizTalk Server, I did export bindings on BizTalk Server Administration. With this, I can merge new ports that were configured manually to my Visual Studio BZ Project, so they can be deployed automatically. Just when I thought that all was well, a binding import error appeared, and some ports could not be enlisted and started.
Pic1. Exception: “Could not enlist Send Port – HRESULT: 0xC00CE557”
So, after some debugging, me and my teammate noticed an issue with some port filters inside a WCF Custom Send Port in the bindings XML, originally exported by BizTalk. Time to check the XML now!
Here’s how you can trace errors in XML:
- Open exported ports binding XML file:
Pic2. Origin of the exception selected
Notice this property, “Filter”. It has break lines and white spaces. BizTalk refuses to import bindings like this, and generates an exception. Worst part is that this exception is generic, and meaningless.
To fix this, you must remove all white spaces and all break lines inside this field. This problem appears because these filters have an “AND” relationship between them, and BizTalk can’t understand those mathematical relationships with all these white spaces and break lines among them.
The final and fixed XML property should look like this:
<SomePropertyName>all lines here without spaces or break lines</SomePropertyName>
If you run into some exceptions importing port bindings, you should analyze the bindings file and look for a XML property with spaces and break lines. Re-arrange and you should be OK importing bindings and enlisting ports now!