Using Microsoft’s Extended XPath functions in BizTalk

It’s not that well documented, but Microsoft have a bunch of
extra functions you can use from XPath expressions within XSLT.

You can find the documentation on them here.


What isn’t made apparent is that none of them work with XslTransform:
a subset of them will work with XslCompiledTransform, and the others only work with MSXML
4.0 onwards.

This becomes obvious if you try and use these functions, or
if you read this
blog post from the Microsoft XML team on the XslCompiledTransform class.

Being the curious cat I am, I wondered if there was any way
to use the functions from within XslTransform – if there was, I figured you could use the
functions in a BizTalk Map…

Dallas TechFest 2008

Let the word go out from the mountain tops, and bloggers the D/FW Metroplex and beyond

link back to this post as they spread the word. Not to be out done by our cousins

to the north in Tulsa, Dallas will this year have it’s very own TechFest.

Dallas TechFest 2008 will occur on May 3rd, 2008 and will be a day of .NET, Java and

Ruby learning FREE to attend for all who want to. If you are

interested in attending, we need you to register on the site (www.DallasTechFest.com)

so that we have an idea of who is coming. What can you expect you ask?

Let me tell you.

Assuming most of my readers are .NET developers, I will focus on that side of things:

  • Richard Campbell, Co-Host of .NET Rocks and Run As Radio, speaking on ASP.NET Scalability

  • Don Demsak aka DonXML speaking on the Modelling Edition of Service Factory

  • Dallas’ own Trent Nix speaking on Silverlight

  • Raymond Lewellan speaking on the ASP.NET MVC Framework

  • Jason Kergosien speaking on ASP.NET Dynamic Data

  • And more yet to come and be announced…

Mark the day on your calendar, you will not want to miss these speakers. Trust

me. If you have a blog I ask that you help spread the word about the event by

linking back to this post.


Tim Rayburn is a consultant for Sogeti in the Dallas/Fort

Worth market.

ESB Guidance – Some notes on the installation

ESB Guidance – Some notes on the installation

I’ve been playing with the ESB Guidance for some time now, in preparation for the session I’m presenting at TechDays 2008 on that topic. While doing this, I had to solve several small problems during installation, and also getting the samples running. Here are some tips for those who are brave of heart :-):

  • Follow the installation steps as described in this video and blog post. Use the installation manual only for reference. When in doubt, trust the video. And don’t skip any step, or things WILL break later.
  • In the above video, there’s a mistake when a Xml segment is pasted to Btsntsvc.exe.config: there’s a “[path]” that should have been replaced with the real path. This will break the Itinerary samples/functionality. Also, note this thread in the ESB discussions (especially the post by user pkelcey) : remove the newlines between the folder and the XML element, or BizTalk will go crazy with restarts.
  • The docs mention an hotfix for BizTalk Server 2006 R2: KB943871. This code is wrong. The correct code is KB944532. This is actually an interesting hotfix, because it adds four useful properties to BizTalk’s default fault schema.
  • The ESB Guidance is not regional settings agnostic. Everything will work if you have everything installed with English-US, however I had BizTalk’s user running with Portuguese-Portugal. The date formats are different, so no faults showed up in the ESB Management Portal, even if everything seemed to work correctly. To fix this, see this thread.
  • Samples: unfortunately, there is no video explaining how to install the samples. You’ll have to follow the docs. Some warnings:
    • The MSI’s (“Windows Installer Files”) mentioned don’t actually exist in the package. You’ll always have to follow the “Install the [component] from the Binding File/Solution Project” alternative.
    • Be careful not to install the same thing twice (especially when installing the Itineraries/Resolution/Rules parts). The instructions go around themselves and you can be led to install the same thing twice.
    • Always manually check the contents of every bat/cmd file the instructions tell you to run. One of the problems I had was with the create user part: my BizTalk installation is local, not in a domain, and the script didn’t create the user nor complained (… “On Error Resume Next” …). The creation of App Pools and Web Sites in general worked correctly, but be careful. I actually preferred to do some steps manually. Oh, and again, be careful to avoid doing the same thing twice.

As a conclusion: I wish the ESB Guidance Package had a much simpler “next-next-next” installation. The package has a lot of great stuff done with care, all the source is available, and I’m sure all the BizTalk developers and architects will find some use for parts, if not all, of it. The installation process and the documentation definitely turns people off, however. When in doubt, check the discussions on CodePlex.

I hope to post more information about the ESB Guidance in the next weeks, and maybe a couple of videos of the demos.

A bug with multiple hosts…

Wayyyy back in November of 2006, I wrote about a bug in BizTalk 2006:

This bug is encountered when you attempt to start a BizTalk 2006 application
definition with orchestrations that have been bound to different hosts.  (Say,
OrchA in HostA, and OrchB in HostB.)  After the application has been deployed,
the first time the application is started (and ‘orchestration start/enlist’
is included in the start options) you will receive an error that looks something like
this:

Microsoft.BizTalk.ExplorerOM.BtsException: Could not enlist orchestration 'BizTalkSample.Orchestrations.Echo,BizTalkSample.Orchestrations,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=05a4a8d4071035d9'. Could not enlist
orchestration 'BizTalkSample.Orchestrations.Echo,BizTalkSample.Orchestrations, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=05a4a8d4071035d9'. Value does not fall within the
expected range.

There was a fix for this bug  back at that time, but somehow it crept back in
(even in R2.)  The KB number for the problem is the same, however (KB927052)
and a fix is available.

The BizTalker Volume 12 – Sending to a WCF Receive Adapter

Last week I released volume 12 of The BizTalker.  This issues’ feature article was written by Dwight Goins of QuickLearn and talks about working with the WCF Adapter in BizTalk 2006 R2. 

Also covered is the new BizTalkBlogs.com and the new training available on BizTalk-Training.com

You can view the newsletter online or to make sure you don’t miss out simply subscribe!

Nick Heppleston on PipelineTesting

Nick Heppleston on PipelineTesting

Nick Heppleston wrote a very
nice piece on using my PipelineTesting library
to test BizTalk Pipeline Components in isolation. Thanks for the kind words, Nick;
they are much appreciated!

I wrote PipelineTesting for my own needs; I spend a substantial amount of my BizTalk
development time working with schemas, pipelines and custom pipeline components, and
frankly, it’s a drag having to continually deploy or trying to use the very simplistic
tools that BizTalk provides out of the box for this.

The time I’ve saved using PipelineTesting to test my own components has made up for
the time I’ve spent developing the tool many times over already, but it’s fantastic
seeing other people liking it and using it for their own projects.

If anyone else has been using the library, I’d love to know about it! And of course,
I’m always open to suggestions, bug reports or wishes and I’ll do my best to incorporate
them to the next releases.

technorati BizTalk, PipelineTesting