Why Is This Still a Routing Failure in BizTalk Server 2009?

A couple weeks ago, Yossi Dahan followed up on a post of his where he noticed that when a message absorbed by a one-way receive port was published to the BizTalk MessageBox where more than one request-response port was waiting for it, an error occurred.  Yossi noted that this appeared to be fixed in BizTalk 2006 through a hotfix available and that this fix is incorporated in BizTalk Server 2009.  However, I just made the error occur in BizTalk 2009.

To test this, I started with a one way receive port (yes, I stole the one from yesterday’s blog post … sue me).

2010.01.19pubsub01

Next, I created two HTTP solicit-response (two way) send ports with garbage addresses.  The address didn’t matter since the port never gets called anyway.

2010.01.19pubsub02

Each send port has a filter based on the BTS.MessageType property.  If I drop a message into the folder polled by my receive location, I get the following notice in my Event Log:

2010.01.19pubsub03

Got that?  The message found multiple request response subscriptions. A message can only be routed to a single request response subscription.  That seems like the exact error that should have been fixed.  This shouldn’t be a issue when the source receive location is one-way.  Two-way, sure, since that would cause a race condition.  Shouldn’t matter in the case above.

So … did I do something wrong here, or is this not fixed in BizTalk Server 2009?  Anyone else care to try it?

Share

Author: Richard Seroter

Richard Seroter is Director of Developer Relations and Outbound Product Management at Google Cloud. He’s also an instructor at Pluralsight, a frequent public speaker, the author of multiple books on software design and development, and a former InfoQ.com editor plus former 12-time Microsoft MVP for cloud. As Director of Developer Relations and Outbound Product Management, Richard leads an organization of Google Cloud developer advocates, engineers, platform builders, and outbound product managers that help customers find success in their cloud journey. Richard maintains a regularly updated blog on topics of architecture and solution design and can be found on Twitter as @rseroter.

10 thoughts

  1. As Yossi mentioned in his post: don’t forget the registry changes.

    KB 923632 is included in BizTalk 2009 out of the box.

    By default, the behaviour will remain the same as on 2006 WITHOUT KB 923632, that is, you cannot publish a message and then route that message to multiple solicit-response ports.

    If you want to rout tu multiple solicit-repsonse ports, you need to set the AllowMultipleResponses registry key. If that is set to one 1, it should work.

    1. The registry changes are still needed for BizTalk 2006 R2 and BizTalk 2009. The reason being that we don’t want to break current implementations that might rely on the previous behavior. Fortunately, BizTalk 2009 R2 (http://connect.microsoft.com/BizTalk) with the “Settings Dashboard” will raise the visibility of all of these settings AND allow you to manage them across the entire BizTalk group from one place.

  2. Richard,
    I had the same issue while working with pure maps and CBR.
    I thought people already knew about it so dint blog it.
    Finally I had to use an Orchestration to make it work.

  3. I had same error. I”ve found that multiple schemas of same type were deployed. Just deleted those double schemas and it works now. (Strange, but I didn”t get error about “multiple schemas were found” – but this, about multiple request response ports)

  4. Just to confirm I have tested this in BizTalk Server 2009 with the hotfix mentioned above and it works perfectly and I also tested it in BizTalk Server 2010 from the Host Settings (“Allow multiple responses”) in the Administration Console as Tim has highlighted above and it works perfectly too, nice!

  5. On BT 2010 Server I made the changes and still get following error: The message found multiple request response subscriptions. A message can only be routed to a single request response subscription.

    I first changed the registry. Then I looked at the settings in the admin console and the check box was still not checked so I checked it. I restarted the BT Host. Did not work. Then I rebooted the server. Still no luck. Any ideas … would be grateful.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.