BizTalk Filters not Getting Imported

BizTalk Filters not Getting Imported

… or how automatic formatting of XML files can make you miserable.

During the last few days I’ve been helping out a client get ready for deploying a
BizTalk solution. One of those things this involved was taking the existing BizTalk
Binding XML files and making minor edits to them so they would match the new environment.

I did the changes, and the BizTalk Administrator used the updated Binding Files to
import them into the new BizTalk Servers. They imported without any errors at all.
A couple hours later he noticed some test messages were getting incorrectly routed
to the wrong send ports (there’s a lot of messaging only stuff in this solution).,
so he checked the send port configuration.

There were no filters defined at all! We checked the Binding files again,
and yes they were clearly defined there. Why were they not getting imported?

The culprit turned out to be Visual Studio. I had edited the binding files in VS and,
for several reasons, this involved doing copy-and-pasting the entire XML content of
the binding files between machines. Normally this isn’t a problem, but this time it
was.

VS will reformat XML content when you paste it into VS. This is usually a welcomed
feature, but not now. Turns out that VS reformatted the <Filter> elements
of the Send port configurations like this:

<Filter>

   &lt;?xml
version="1.0" encoding="utf-16"?&gt;

   &lt;Filter
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

...

See anything weird? I didn’t see it either at first. The problem is the line break
and extra white space caused by the indentation between the opening <Filter>
element and the actual string-encoded XML of the filter expression.

Apparently, BizTalk can’t deal with this at all and simply treats it as if the <Filter> element
had been empty when it imports the binding file. No warnings, no errors, it simply
ignores it silently.

I removed the space leaving it like this:

<Filter>&lt;?xml
version="1.0" encoding="utf-16"?&gt;

   &lt;Filter
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

...

And now it was imported correctly and all the Filters were recreated successfully.
This was maddening to say the least, and it’s one of those pesky bugs that can make
deploying BizTalk solutions an even more miserable experience than it already is.
Definitely a very annoying bug in the Binding importer code.

technorati BizTalk
Server 2006, XML

Ordina organises the first annualy international SOA Symposium for practitioners in Amsterdam

In early October 2008 the first annualy international SOA Symposium will be held in the Amsterdam Arena. A lot of international speakers will be there, amongst them Thomas Erl and Brian Loesgen!

There are 40 speaker sessions across the following 10 tracks:
– SOA Architecture & Design
– Service Modeling & BPM
– SOA & Business
– SOA & REST
– SOA & Web 2.0
– SOA Governance
– SOA Programming
– SOA Innovations
– SOA Infrastructure & Technology
– SOA Project Delivery & Methodology

Post-conference there will be three five-day certification workshops:
– Certified SOA Consultant
– Certified SOA Architect
– Certified SOA Analyst
The workshops are organised by SOASCHOOL.com.

The symposium and the workshops look great, so I’m really looking forward to going there!

Inaugural UK SOA/BPM User Group Meeting – Thursday 17th July 2008

My old colleague Mike Stephenson just e-mail me to help promote the inaugural UK SOA/BPM User Group Meeting, which will be taking place on Thursday 17th July 2008 at Microsoft’s London office.
The meeting will include a presentation on Oslo (Microsoft) and Enterprise Computing in 2015 (SunGard), plus the obligatory beer and pizza – full details […]

WCF: Set up environment to use Transport level security (SSL)

We should install the certificate to the server that hosts the services with Transport level security.

For tests we could use the self-made certificate, for production we recommend to use the certificate issued by the industrial certificate provider as the VeriSign.

1. Install Microsoft .NETFramework2.0 Software Development Kit (SDK) (x64) [http://www.microsoft.com/downloads/details.aspx?familyid=1AEF6FCE-6E06-4B66-AFE4-9AAD3C835D3D&displaylang=en]. It is installed by default to the “C:\Program Files\Microsoft.NET\SDK\v2.0 64bit\Bin ” folder.

2. [Optionally, only if you also have server certificate and want to refresh it]”C:\Program Files\Microsoft.NET\SDK\v2.0 64bit\Bin\certmgr.exe” -del -r LocalMachine -s My -c -n MyCompany-HTTPS-Server

3. “C:\Program Files\Microsoft.NET\SDK\v2.0 64bit\Bin\makecert.exe” -sr LocalMachine -ss My -n CN= MyCompany-HTTPS-Server -sky exchange -sk MyCompany-HTTPS-Key

4. Install the new certificate to the IIS by the Web Server Certificate Wizard. Open IIS Admin, choose the Default web-site, Properties, Directory Security tab, Secure communicationServer Certificate button, it starts the Web Server Certificate Wizard .


To expose the service metadata by HTTPS and HTTP use:

<behaviors>
<serviceBehaviors>
<behavior name=”ServiceBehavior_Name”>
<serviceMetadata httpGetEnabled=”true” httpsGetEnabled=”true” />
<serviceDebug includeExceptionDetailInFaults=”false” />
</behavior>
</serviceBehaviors>
</behaviors>

To expose the service metadata by HTTPS or HTTP only, change attribute the httpsGetEnabled or httpGetEnabled to false.


[2] Transport Security Overview – http://msdn.microsoft.com/en-us/library/ms729700.aspx

Time Off

Time Off

I’m taking a few weeks off after working at Tech Ed for the last couple of weeks.


I have seen some great stuff already this trip, like the Space Shuttle launch in Orlando, a great air show in Quebec City, the Colorado Rockies, and today Mount Rushmore.  I’ll post some pictures when I get a chance.

BuildCop

Code criminals beware… there are a number of ‘cops’ on patrol. :-). As if FxCop, StyleCop and MapCop weren’t enough, we now have BuildCop.
But seriously, this looks like another nifty tool for a teams arsenal. Its written by GAX Guru Jelle Druyts and his post about it is here. From the blurb on the site
BuildCop […]