differrent escaped xml for WCF gateway

Topics: Bindings File, Settings Management and SSO
Feb 17, 2012 at 7:21 PM

I have an issue were 2 different machines are generating different port bindings from portbindingsMaster. (master is identical as per BeyondCompare, and use master=true, ApplyXmlEscape=true) The issue is escaped xml in a WCF receive location property in the CustomProps.  One machine builds and deploys the msi correctly as it changes "<" to "<" the other machine does not make this change and generates the binding file as "&lt:" which results in the deployment error: Invalid or malformed XML data. Tried it on yet a third machine and the same error. All 3 vms are using the most recent/same BTDF. vs2005, Biztalk2006r2. Any insight would be greatly appreciated.

Joseph

Feb 17, 2012 at 10:55 PM

Also the vm that creates the MSI without the error is the machine that generated the Master bindings file.

Also, i reformatted the Master file so that everything lines up identically on each environment when viewed in vs2005.

thanks,

Joseph 

Coordinator
Feb 20, 2012 at 6:21 AM

Hi Joseph,

That's "&lt:" -- a regular colon -- that's coming out on some machines?  That's just odd, and would lead me to suspect something like an OS-level language or keyboard configuration difference, or possibly the encoding type of the file being different.  Maybe even an unusual encoding of some characters in the file that appear normal on the screen but are actually different at the binary level.  You might try looking at the files with the VS binary editor or explicitly save the master file as ASCII and then back to whatever file encoding is specified in the <?xml> tag.  Or make sure that the existing encoding of the file matches the <?xml> tag.

Aside from checking those settings, one other thing you can try is to grab the XmlPreprocess.exe from the latest version on the Source Code tab (Framework\DeployTools folder) and overwrite the existing file on any machine that generates your MSI's and on developer machines.  There are some encoding fixes in the newer version.

Thanks,
Tom

Feb 21, 2012 at 9:00 PM

Sorry about that, that was a typo, it is indeed a semicolon so it's "&lt;" not "&lt:"

thanks,

Joseph

Coordinator
Feb 22, 2012 at 2:52 AM

OK.  Did you try the latest XmlPreprocess.exe on all of the machines?

Thanks,
Tom

Feb 22, 2012 at 6:30 PM

yes, all machines are using XmlPreprocess.exe 2.0.13.0, 

the "build" machine (i.e., the machine that created the successful MSI) did have a different adapterXPaths.txt that included xpaths to CustomProps. Even though this is used only to generate the master bindings (BeyondCompare showed no differences in the Master files), would this have impacted the generation of the port bindings for each build of the MSI?

Thanks,

Joseph


Coordinator
Feb 23, 2012 at 6:29 AM

Yes.  adapterXPaths.txt is used by XmlPreprocess.exe to encode PortBindingsMaster.xml to create PortBindings.xml, in this case on the server at deploy time.  adapterXPaths.txt is included in the MSI.  You definitely need to have the same file on each machine that is used to generate MSI's.  Could that explain your problem then?

Thanks,
Tom

Feb 23, 2012 at 4:41 PM

It does indeed.

thanks,

Joseph