0

I took this pipeline component, changed it little and now it looks like this.

After having built and copied the dll to C:\program files (x86)\Microsoft BizTalk Server 2010\Pipeline Components, I added the component to the disassemble stage of my pipeline.

This is how I implemented the component:

How I implemented the component http://img267.imageshack.us/img267/2758/biztalk.png

When I deploy the project and try to test it the debug output is:

  • [1932] DEBUG: Constructor
  • [1932] DEBUG: Load
  • [1932] DEBUG: ReadPropertyBag, propName: BatchSize
  • [1932] DEBUG: BatchSize: 5

It looks like the Disassemble method won't be called. Why?

svick
  • 236,525
  • 50
  • 385
  • 514
Tonn Ski
  • 47
  • 1
  • 7

2 Answers2

1

The components in the Disassemble stage of a Receive Pipeline execute in order from top to bottom, however the execution pattern is "FirstMatch". This means that as soon as your Flat File Disassembler recognizes the document and handles it, it will no longer continue to execute any other "Disassemble" stage components.

The solution is to refactor your pipeline component and place it in the Validate stage of the Pipeline. This will require you to place your logic in the Execute() method, rather than Disassemble().

Brett
  • 1,127
  • 6
  • 11
0

Just wondering if you did implemented the IProbe interface. In disassemble stage, BizTalk will call IProbe to determine if your componenet qualifies the message, if it does, disassemble will run, other not.

TOMMY WANG
  • 1,382
  • 3
  • 16
  • 39