2007
01.30

A couple of days ago, I started writing the filter I mentioned here.  I managed to create a working version of it, but I had a couple of issues with it:

  • It didn’t work as Validator in the Receive Pipeline (it only works in Decode stage, which is a bit retarded because I wanted the thing to be loaded AFTER the XML Disassembler) 
  • I had to load the stream to a DOM and do a SelectNodes(), which is grossly inefficient (understatement of the year)

So as I was trying to understand why it doesn’t work as a Validator (i.e., googling for answers), I learned that the XMLDisassembler uses an non-seekable stream (XmlDasmStreamWrapper), and I was returning the same stream in my code, which I think breaks the whole pipeline.  Anyway, as I was looking for answers, I just stumbled into a page about writing custom BizTalk pipeline components…and whaddayannow?  The example does exactly what I needed!  The nifty thing about it is it uses a microsoft-written library called XPathReader which basically matches an xpath in a stream. 

This just validates (pun) yet another habit I’ve been bragging all along: I haven’t written a single line of code since google.

No Comment.

Add Your Comment

Spam Protection by WP-SpamFree