Here are some options I’m exploring for creating pipelines for testing.
1. Using default pipelines
To use standard pipelines right now you need to reference Microsoft.BizTalk.DefaultPipelines
and do something like this:
using Microsoft.BizTalk.DefaultPipelines; // ... ReceivePipelineWrapper receivePipeline = PipelineFactory.CreateReceivePipeline(typeof(XMLReceive));
Not hard, but a bit inconvenient. Instead, I’m thinking of:
ReceivePipelineWrapper pipeline = Pipelines.Xml.NewReceive();
2. Creating a pipeline from scratch
To create a pipeline from scratch in the current code you need create an empty pipeline
and add each component at the proper stage. Unfortunately, the API here is pretty
generic, and thus very verbose. Here’s what I’m thinking of:
SendPipelineWrapper pipeline = Pipelines.NewSend() .AddAssembler(new XmlAsmComp()) .AddEncder(new MIME_SMIME_Encoder()) .End();
I’m also thinking about doing something to make it easier to use built-in assembler/disassembler
components with specific schemas, as this is pretty hard to do with the current version
without using a pre-compiled pipeline (because of how the properties in the components
are defined).