Monday 24 March 2008

IProbeMessage interface in BizTalk.

If the pipeline component's execution mode is set as "First recognized" or "All recognized", Pipeline Manager iterate through all the components in the stage to find a component which has implemented IProbeMessage interface; then it executes that component leaving others in First recognized mode and executes all the components that recognise the format of the data in the All recognized mode. i.e. IProbeMessage interface enables the pipeline component to decide do they want to process the message or not.

In BizTalk pipeline, there is concept called Message Probing. This means pipeline component intercepts (probes) the message and determine the format of the message. Disassemble stage's message probing capability enables it receive different format of the message to be received from same endpoint, enables it to identify the format of the message that is being processed dynamically.

IProbeMessage interface contains a method Probe which returns true if the disassembler decides to process the message. Probe method read firs few bytes of the message data stream in order to decide whether it is capable of processing the message or not.

public interface IProbeMessage
{
bool Probe(IPipelineContext pContext, IBaseMessage pInMsg);
}

0 comments: