Cannot call the EDISend Pipeline from an Orchestration

I'm quite certain I won't be the only person who tries this, I had a need to send an encoded EDI message to a Web Service, so I was like "No problem, we're in the high tech land of BizTalk 2006 R2 now, I'll just call a Pipeline directly from an Orchestration, get the results and send that along."

Not so quick, buck-o replied BizTalk, and after some Googleing I came up with this link to a post on the Microsoft forums which informed me that you can't do that.  Specifically, to quote it here in case that forum thread disappears, the question was "Steven G." and asked (in part) :

I have an orchestration which is trying to send EDI files using a dynamic send port.

I have been trying, with no success, to call the "Microsoft.BizTalk.Edi.DefaultPipelines.EdiSend" from within my orchestration, as follows:

And the response can back from Tony Bernard of Microsoft:

Running the EDISend pipeline from an orchestration is not supported in R2.  We are tracking this for the future, but had higher priority items to address for this release.

I would suggest one of two approaches:

  • a post-processing pipeline component which performs the manipulation that you need to occur after serialization

  • using a loopback port. Basically, use a send port with that pipeline into an MSMQ or file location and a receive location with a pass through pipeline back into the orchestration

So no love there.  I ended up working around the problem, but know I will have to solve this again in a few days, so be looking for a post from me on how to implement the Loopback port which Tony suggested.