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);
}

Sunday 2 March 2008

BizTalk in .NET 3.5 Framework

To find out, What's in .NET 3.5 framework for BizTalk.

http://blogs.breezetraining.com.au/mickb/2008/02/08/Feb27thSydneyBizTalkUserGroupALookAtTheNET35Framework.aspx

Adapter version details under host process domain.

Our production support guys came up with an interesting requirement, How to find the version of the custom BizTalk adapter assembly being executed under particular host. This has to be achieved without disturbing the production servers.

The answer is pretty simple, use the Process Explore (procexp.exe). One of the gems from SysInternal (Acquired by Microsoft). Process Explore doesn’t require installation, just works with the XCOPY of the procexp.exe as many of the SysInternals tools (satisfied our ChangeManagement since this doesn’t require any installation in the production server :) )

  • Start it up…
  • In the View menu, ensure that Show Lower Pane option is checked
  • In the View\Lower Pane View submenu choose DLLs
  • Highlight the relevant BTSNTSvc.exe process in the upper pane
  • Locate your adapter’s runtime assembly and you can get the version details

clip_image002

Process Explore: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

PS: Assemble name has been hidden for companies privacy. And Thanks for Chris Dickson in helping us.

Technorati Tags: