Biztalk Architecture Question

Home Page Forums BizTalk 2004 – BizTalk 2010 Biztalk Architecture Question Biztalk Architecture Question

#13952

Yes direct ports do need to be defined at design time.
But you can route using promoted properties and the pub/sub mechanism of the messagebox – this is basically what binding the orchestration to a receive port does.

When you bind a port it creates a subscription filter like:
[code:1:add554a995]BTS.ReceivePortId = <bound port id> AND BTS.MessageType = <receive shape message type>[/code:1:add554a995]

With a direct port you set your own subscription filter on the receive shape. You can create your own routing properties. e.g. MyNamespace.PartnerId and create your own subscription filter:
[code:1:add554a995]MyNamespace.PartnerId = 27 AND BTS.MessageType = <receive shape message type>[/code:1:add554a995]

Care needs to be taken with direct ports, it is easy to create an infinte loop.
And you will need to learn the trick of promoting properties inside an orchestration using a correlationset.