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).
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.
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:
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?