Direct ports in BizTalk

Published Sat, Apr 10 2004 10:53 PM

I ran into an interesting feature of BizTalk tonight that I have overlooked uptill now. It's called a direct port and it enables you to send messages between orchestrations via the messagebox, without having to specify a transport.

The particular cool thing about this, is that it supports the correlation of messages to running orchestration instances, something you can't do when you call or start orchestration using the shapes. I find this feature so interesting because it solves an issue I have at my current project with incoming messages that might correlate or not (see my other post today).

You can create a direct port using the Create Port wizard, just select Direct instead of Specify now or Specify later. Two notes:

1) I was able to create an endless loop by creating a port that just listened to the messagebox and pick up all messages of a particular type and send that one out to a folder. Because that message also entered the messagebox another orchestration got started (and then another one and another one...). So watch out, don't start the process and then get yourself some coffee. Your computer might be dead by time your back ;-).

2) I got the build error 'Illegal port binding' when I tried to connect two orchestrations. It disappeared at some point to never come back, even resetting all settings to non-working configurations didn't recreate it (strange, isn't it). If anyone knows what causes this error and how to resolve it, I would very much like to know. -> UPDATE 4/14/04: I noticed that I connected the listening port to itself and the sending port to the listening port to resolve the problem. See my sample for more details.

Filed under:

Comments

# Carlo Poli said on Thursday, October 14, 2004 5:03 AM

Thanks, this information about direct ports was very useful and solved one of my problems.