Biztalk Custom Pipeline with Multiple Disassemble Stages

1.7k Views Asked by At

I am upgrading an existing solution which currently works in the following manner:

  • Flat file disassemble stage receives a flat and dissembles into XML
  • Generic custom pipeline component in the validate stage, receives dissembled flat file, parses/groups/inline transformation, then writes out multiple files to disk.
  • Another receive location picks up these files and processes it accordingly.

As I am having to touch this project, ideally I’d like to make this custom pipeline component a disassemble PC and use the GetNext method to return the now debatched messages without having to write them to disk. However, I cannot get access to the disassembled xml from the flat file dissembler until after the disassemble stage is complete, but I cannot put the custom disassemble stage in the validate portion of the pipeline.

Am I misunderstanding something here? Am I stuck with writing the files back out to disk, if do not want to radically change this process?

2

There are 2 best solutions below

0
DTRT On

Assuming the Flat File Disassembler is not actually splitting the document, meaning it returns only one message, here's two options:

  1. Wrap the ffdasm component in a non-disassembler component and add it to the Decode Stage, then put you new Disassembler Stage friendly component in the Disassembler stage.
  2. Use a Loopback Adapter, such as my company's free one (http://www.twoconnect.com/loopback-biztalk-adapter-free-download/) to execute the new Disassembler on a different Two Way Send Port.
0
Vikas Bhardwaj On

You can have only one disassembler component in Disassemble stage, I mean you can have more components but only one of them can disassemble the message. It is based on IProbeMessage interface implementation. If you want to use your own Disassembler also want to use FF Disassembler, then you need to wrap FF Dissasembler from your own.