views:

20

answers:

1

Hi, I'm fairly new to Biztalk and the ESB Toolkit, We have since tried to implement content based routing via an ESB Itinary but I am having problems with the condition on the business rule not evaluating properly, I've been following the microsoft example in the link below but it just doesn't want to work. http://msdn.microsoft.com/en-us/library/ee264380%28v=BTS.10%29.aspx

When we submit a request we get the following error, meaning the rule has not evaluated. Can someone please help?

The map name was not provided and is required.

Source: Microsoft.Practices.ESB.PipelineComponents.DispatcherDisassemble

Method: Void Disassemble(Microsoft.BizTalk.Component.Interop.IPipelineContext, Microsoft.BizTalk.Message.Interop.IBaseMessage)

Error Source: Microsoft.Practices.ESB.Itinerary.Services

Error TargetSite: Microsoft.BizTalk.Message.Interop.IBaseMessage ExecuteTransform(Microsoft.BizTalk.Component.Interop.IPipelineContext, Microsoft.BizTalk.Message.Interop.IBaseMessage, System.String, Boolean)

Error StackTrace: at Microsoft.Practices.ESB.Itinerary.Services.TransformationService.ExecuteTransform(IPipelineContext context, IBaseMessage msg, String mapNameOrResolverString, Boolean validateSource) at Microsoft.Practices.ESB.Itinerary.Services.TransformationService.Execute(IPipelineContext context, IBaseMessage msg, String resolverString, IItineraryStep step) at Microsoft.Practices.ESB.PipelineComponents.DispatcherDisassemble.Disassemble(IPipelineContext pContext, IBaseMessage pInMsg)

A: 

John,

In certain cases you may indeed encounter this known issue. It does not seem to be a bug but rather a side effect of the way the ESB Toolkit is engineered.

Basically, for content-based routing to work, you need to re-write your Business Rules so that the message type (or more appropriately SchemaStrongName) is Microsoft.Practices.ESB.ResolveProviderMessage. Ideally, you would need to have two set of rules : one with the "correct" message type, and another one with the one expected by ESB Toolkit.

You can have a look at my article on my blog for more information.

Maxime Labelle