First Pluralsight Course Published!

PluralsightIn case anyone is wondering why I’ve been out of the blogging and social media scene for the past few months, it’s because I’ve had my head down trying to complete the authoring of my first Pluralsight course!

Well, I’m pleased to say that the course is now live!! It’s been a long journey and resulted in three scope changes, but is finally published. Also feel very privileged to have joined the ranks of the Pluralsight author team, comprised of so many exceptional people whose wisdom I’ve been following throughout my career.

The course is entitled Using Functoids in BizTalk Server 2013, and it features a deep-dive exploration of the eighty built-in functoids within the BizTalk Mapper toolbox, as well a brief look at creating custom functoids and hosting custom XSLT files. Despite the title, it is equally relevant to BizTalk Server 2010 users as the Mapper has not changed much between those two versions. (Come to think of it, the functoids themselves haven’t changed all that much since BTS 2006, even though the user interface was overhauled to great improvement in 2010.)

Read more of this post

BizTalk HTTP receive IIS Internal Server 500 Error

A very helpful post that got me out of trouble today! The constant HTTP 500 error responses aren’t very helpful…

BizTalk Integration Summit 2013 (USA) – BizTalk is Alive & Well!

Just enjoyed an awesome experience at the BizTalk Integration Summit in Seattle with my esteemed colleagues Bill Chesnut and Dean Robertson! Not only did I have the opportunity to meet most of the top BizTalk experts in the world for the first time (including Sandro Pereira, Tord Glad Nordalh, Steef-Jan Wiggers, Saravana Kumar, Richard SeroterKent Weare, Michael Stephenson, Stephen Thomas, Jon Fancey and others), but we were there to hear Scott Guthrie personally announce the General Availability of Windows Azure BizTalk Services (WABS) just minutes before the news went public:


Read more of this post

BizTalk SQL Agent Jobs – Configuration Errors

In a previous post, I talked about how to configure the BizTalk SQL Agent jobs responsible for backing up the databases and purging the tracking data. These jobs are not configured by default, but their operation is essential for keeping your BizTalk system running smoothly.

Today, I inherited a developer VM at a new client with a warning that it was “running a bit slow…”.  Upon investigation, I discovered that the Backup BizTalk Server job had not been configured, so I promptly set about doing that task. However, I uncovered an error once I tried to run the job the first time:

Executed as user: NT AUTHORITY\SYSTEM. The statement BACKUP LOG is not allowed while the recovery model is SIMPLE. Use BACKUP DATABASE or change the recovery model using ALTER DATABASE. [SQLSTATE 42000] (Error 4208)  BACKUP LOG is terminating abnormally. [SQLSTATE 42000] (Error 3013).  The step failed.

Read more of this post

BizTalk Integration Summit 2013 (USA)

Super excited to be attending (for the first time) the BizTalk Integration Summit in Seattle, WA next month! Not only will it be awesome to participate in the 2-day deep dive, hear what Microsoft has to say about the future of BizTalk, and participate in conversations with Microsoft leadership in BizTalk and other integration technologies, but it’s also a great opportunity to meet up with the top Integration MVPs in the world as well!

I’m especially looking forward to meeting a few of my online mentors including Sandro Pereira, Tord Glad Nordalh, Steef-Jan Wiggers, Saravana Kumar, Kent Weare and others. And of course I’ll be joined by my teammates Bill Chesnut and Dean Robertson.

Registration only opened up yesterday after a long anticipation, but places are limited and likely to disappear soon. The event takes place on 21-22 November 2013 at the Fairmont Olympic Hotel in Seattle.

A big thanks to my employer Mexia Consulting for sending me there! Smile

If you’re going, please send me a tweet and say hello so we can catch up!

WEBCAST: Integrating BizTalk 2013 with Service Bus Queues & Topics

I’ve just uploaded my latest production on the Brisbane BizTalk YouTube Channel, bringing our library up to four webcasts now! This presentation shows how easy it is to integrate BizTalk Server 2013 with Windows Azure Service Bus queues & topics, facilitating the creation of powerful hybrid applications:

Integrating BizTalk with Windows Azure Service Bus Queues & Topics[ ]

You can also download the slide deck (complete with notes) from SlideShare [ ]

Really loving my new RØDE Podcaster USB microphone, and also Camtasia 8.1 which makes editing these videos so easy!

WEBCAST: Schema Validation in BizTalk 2010

Just posted a new webcast on how to use out-of-the-box pipeline components to validate XML schemas for incoming messages:

This is important because by default, BizTalk does not perform schema level validation on incoming messages, or even in map execution. This webcast shows two different ways that validation can be enabled, though.

Note that although BizTalk 2010 is used to demo the methodologies,  both approaches will work in all versions of BizTalk Server from 2006 onwards.

The slide deck for this webcast can be found on my SlideShare page.

Keep an eye on the Brisbane BizTalk User Group YouTube channel as more webcasts will follow!

Microsoft TechEd Australia 2013

ScottGuHaving a great time at Microsoft TechEd Australia this year! Today there were some inspiring presentations, including two awesome back-to-back sessions on Building Real World Cloud Apps with Windows Azure with Scott Guthrie (yeah, he might know a thing or two about Azure! Winking smile ). The Gu talked about patterns and best practices across a variety of areas including automation, source control, fault handling, storage, logging, scalability, SLAs,  and more. As expected, his presentation and demos were highly polished and indicative of his vast experience and knowledge.BillChesnut

I followed this by attending an equally polished and highly informative deep-dive session into Windows Azure BizTalk Services by "BizTalk Bill" Chesnut. Bill took us through the extensibility options offered through custom code opportunities via inspectors (in between each stage of the pipeline), custom script and/or XSLT in the maps, and WCF custom behaviours in target web services. He also showed us how to scale out BizTalk Services and gave us a peek at the somewhat daunting pricing schedule.


Finally, we wrapped up the evening with the "Celebrat8" party at Movie World. There was tons of food, thrilling rides, and an impressive stunt show… but there were definitely some shady characters hanging out in the neighbourbood!

Looking forward to the lock-note tomorrow where we get to hear Scott Gu speak again, this time on the future of Azure and about "owning tomorrow".


Many thanks to Mexia Consulting for sponsoring the whole team’s attendance again this year!

Solving a Map Reference to a Deleted Schema

Recently a client got into a bit of “hot water” in their BizTalk integration environment because changes to a Common BizTalk application were not deployed prior to one of the dependent applications. This resulted in an error whenever trying to manage the environment’s applications via the BizTalk Admin Console (even when we followed the hint to refresh the console view):

Schema referenced by Map ‘Test.DependentApp.DependentSchema_to_CommonSchema’ has been deleted. The local, cached version of the BizTalk Server group configuration is out of date. You must refresh the BizTalk Server group configuration before making further changes.

The issue was that a new schema contained in the updated Common project was missing. Easy enough to understand, and the steps to resolve it would appear to be simple enough:

  1. Undeploy the dependent application
  2. Redeploy the Common application (using the new version)
  3. Redeploy the dependent application

However, the error above thwarted us at the very first step: we could not delete the dependent application either through the Admin Console or via BTSTask! Read more of this post

Removing the BOM from Outgoing BizTalk Files

Today we had an issue with sending a file to an external SFTP client – they did not like the Byte Order Mark (BOM) that was automatically pre-pended to the file by the BizTalk file adapter.

A BOM is a short set of invisible characters that is added to the beginning of a UTF-16 or UTF-8 file to indicate the endianess (or byte order) of a text stream. Among other uses, it helps consuming systems determine which encoding (UTF-8 or UTF-16) has been used in creating the stream. The BOM is optional in most cases, and you typically will not see it unless you use a special text editor that can display ISO-8859-1 or CP1252 characters (WinDiff appears to work well for this).

Here is some text that starts with a UTF-8 byte order mark (BOM); notice the three initial odd-looking characters? Represents the sequence 0xEF 0xBB 0xB in hexadecimal, or 239 187 191 in CP-1252 decimal. You won’t see these non-printable characters in most text editors.

Most modern systems can cope with the presence or non-presence of the BOM (especially in UTF-8 where the BOM is really superfluous), but this client clearly had issues with it. So it was off to Dr. Google to find the quickest solution that hopefully involved no custom code (since we are nearly in the Acceptance Testing phase).

Microsoft’s documentation partially came to the rescue, although some claims in this article do not present all the facts (at least not for BizTalk 2010). For example, the statement “If you use a PassThruReceive pipeline or a PassThruTransmit pipeline, a byte order mark is not appended to a message” is questionable, since we were in fact using the PassThruTransmit pipeline and the BOM was definitely present in the output. In addition, the article exclusively suggests creating a custom pipeline as the solution – but this is only necessary if you are not outputting XML.

Our solution? Simply swap the PassThruTransmit pipeline for another OOTB option, the XmlTransmit pipeline. Doing this gives you access to a pipeline PreserveBOM instance property that will strip the BOM from the message for you if you change it from its default setting of “True” to “False”:


That was it! No code changes, no recompilation, not even a restart – just a simple binding update and the troublesome BOM is now history. Note the difference between the before & after output messages compared here in WinDiff:


BOM’s away!    Winking smile

John Glisson - Geek of the Cloth

Thoughts on integration, technology and what-not...


My BizTalk Experiences


THINK: It's not illegal....yet.....

Abdul Rafay's BizTalk Blog

My experiences with BizTalk related to architecture, development and performance in my enterprise.

Mike Diiorio

Connected Systems and other thoughts

BizTalk musings

Issues, patterns and useful tips for BizTalk development


Enterprise Applicaiton Integration and SOA 2.0

Connected Pawns

Mainly BizTalk & Little Chess

Adventures inside the Message Box

BizTalk, Azure, and other tools in the Microsoft stack - Johann Cooper


Talk, talk and more talk about BizTalk

Richard Seroter's Architecture Musings

Blog Featuring Code, Thoughts, and Experiences with Software and Services

Sandro Pereira BizTalk Blog

My notes about BizTalk Server 2004, 2006, 2006 R2, 2009, 2010, 2013 and now also Windows Azure BizTalk Services.

BizTalk Events

Calendar of BizTalk events all over the world!

Mind Over Messaging

Musings on BizTalk, Azure, and Enterprise Integration

The Blog

The latest news on and the WordPress community.