Implement Content-Based Routing Using a Business Rules Policy for a Known Message Type does not work using Samples
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.IBaseMes开发者_如何学Csage, 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)
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.
精彩评论