Here are some articles about BizTalk Server I’ve written. Use at your own risk ;)

BizTalk 2004 Flat File Schema Tutorial 1
A simple introductory article using a CSV file as an example
BizTalk 2004 Flat File Schema Tutorial 2
A tutorial using a more complex schema
BizTalk 2004 Null Send Adapter
A sample Send Adapter that dispatches messages into oblivion. You can find the most updated code at
BizTalk 2006 R2 Null Send Adapter
A version of the /dev/null adapter for BizTalk Server 2006 R2 that illustrates how to add
a custom adapter configuration dialog using IPropertyPageFrame. You can find the most updated code at
BizTalk 2004 Tracer Pipeline Component
A sample pipeline component that logs messages as they are read to files.
BTSReset Source Code
A command line tool to stop, start and restart BizTalk Application Host Instances, similar to iisreset.exe
Reliable MSMQ messaging with BizTalk 2004 Sample
A sample illustrating how to use MSMQ acknowledgements and administrative queues with the BizTalk 2004 MSMQ adapter.
Fix Encoding Pipeline Component
A sample custom pipeline component you can use to explicitly tell assemblers and disassemblers what encoding to use. You can find the latest version of the code at
Fix Encoding Pipeline Component for BizTalk 2004
A back-ported version for BizTalk 2004 of this component
Symmetric Crypto Pipeline Components for BizTalk 2006
Sample decoder/encoder components that use symmetric encryption for BizTalk 2006 pipelines.
Pipeline Testing Library for BTS 2006
Helper library to unit test BizTalk Pipelines, custom Pipeline Components and schemas. You can find the most updated code at
Binary Attachments Sample
Sample on how to add arbitrary binary message parts to a multi-part
message in an orchestration
BizTalk Error Lookup
Sample command line utility to lookup common HRESULT codes
returned by the BizTalk Messaging Engine and pipeline

1 comment

  1. Hi Thomas
    I have this query in listing 1. I need to execute in Main(string[]args)
    The LoadStream method in class DocLoader (Listing 2) supposed to load the stream,
    and pass it to a BizTalk Process module IBaseMessage. Listing 1
    However I am getting an Error that says “Value cannot be null.Parameter name: body”!
    in Listing 3. I have made sure that the file CSV_FF_RecvInput.txt exist is added in the project resourses.

    listing 1

    IBaseMessage input = MessageHelper.CreateFromStream(DocLoader.LoadStream(“CSV_FF_RecvInput.txt”));

    Listing 2
    public static Stream LoadStream(string name)
    string resName = typeof(DocLoader).Namespace + “.” + name;
    Assembly assembly = Assembly.GetExecutingAssembly();
    return assembly.GetManifestResourceStream(resName);

    Listing 3.
    public static IBaseMessage CreateFromStream(Stream body)
    if ( body == null )
    throw new ArgumentNullException(“body”);

    IBaseMessage message = _factory.CreateMessage();
    message.Context = _factory.CreateMessageContext();

    IBaseMessagePart bodyPart = CreatePartFromStream(body);

    message.AddPart(“body”, bodyPart, true);

    return message;

    Any help! Please let me know what i am doing wrong.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>