简体   繁体   中英

BizTalk Failed Message Routing Publishes an Extra Failure Report

I am on BizTalk Server 2013 R2 (CU5 + ESB Toolkit configured) and am unable to understand following behavior my installation is exhibiting. I have stopped all BizTalk applications and host instances except the default one which I am going to use for this question.

I create a receive port + location

在此处输入图片说明

在此处输入图片说明

I enable the newly created receive location and, since everything else is stopped/unenlisted, any message coming in should fail as there are no subscribers.

I drop a file in the inbound folder and see this in the admin console

在此处输入图片说明

Question 1: Why do I see a "Routing Failure Report" even though the "Enable routing for failed messages" property on the receive port is disabled?

Opening this failure report gives me nothing as it doesn't contain any error report properties (promoted or otherwise)

在此处输入图片说明

Question 2: What is this routing failure report good for?

I enable the "Enable routing for failed messages" property on receive port and re-run the test (after terminating all suspended instances) and this is what I see in the admin console

在此处输入图片说明

Two routing failure reports published this time, one similar to the previous scenario but the other containing error report properties I was looking for

在此处输入图片说明

Question 3: What can make BizTalk publish two separate failure reports for one failure and how to fix this?

My understanding that you don't get a failure report if you don't enable failed message routing on ports and that only one report is published per failure in case the option is enabled is in question here and I would like someone to help me understand where I am going wrong please?

I hope you already got the answer.

That is an expected behavior. You are getting two routing reports.

One for the actual message foe which no subscriber was found.

Second for the Routing Failed message enabled on Receive Port. Routing failed message means: You want the message to be routed to another place in case it does not get processed correctly due to some failure at receive port (The message can fail at receive port at majorly two reasons, 1 for no subscriber found, and 2nd is pipeline failure). But the catch is you don't have a subscription for failed message as well. And this caused the 2nd routing failure report.

If you closely go analyze both the routing failure reports, you will see that the 2nd report have context properties related to "Error-Report" namespace, some of these properties were promoted by BizTalk to ensure Routing of Failed message. Routing failures report

That is the correct and expected behavior of BizTalk Server since 2006.

The Routing Failure Report is unrelated to FMR and is generated to show why the message failed to route. Trust me, you will learn how to read it if you need to, though it's usually pretty obvious.

With FMR Enabled, the message itself is enhanced as well.

Basically, there's nothing wrong with your setup.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM