Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.
Reason : As simple as, BizTalk engine is not able to find subscriptions for the incoming message.
under the hood : while publishing the message in BizTalkMsgDB [SPOOL] table. Biztalk engine executes many stored procedures, but the point in focus here are (1). bts_InsertProperty [this SP is executed for each context property of Message] (2).bts_FindSubscriptions [pass batch id as parameter and queries Subscription, ConvoySetInstance and many predicates table and gets subscription Id] (3).bts_InsertMessage [subscrition Id is passed as parameter, commits message in Spool table and call various SPs] , (4).int_EvaluateSuscription [passed subscription Id as parameter and then message reference is inserted into respective queue].
So, as far as entry(row) is there in Subscription table it may passed to the next level and may we will not get this error.
Resolution : 1. Check the Orchestration or SendPort is Enlisted which is going the message
2. If the input message is XML then use XMLReceivePipeline, as this pipeline contains XMLDisassembler components which populates MessageType context property which is used for routing xml messages.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment