Here is a quick tip/example to use direct binding in Orchestration.
It’s quite simple if you do it correctly. Or else you’ll end with the following error message:
The BizTalk compiler will not allow you to pass an ‘implements’ port to a ‘uses’ port parameter, or vice versa. (to find out what is ‘implements’ and ‘uses’, there is a great post by Charles Young in his blog)
Say, there are two orchestrations O1 (sender) and O2 (receiver) in the same assembly X.
Say, you define two ports P1 (in O1) and P2 (in O2) of type PT.
When running the port configuration wizard for P1 select “Direct Binding” and select “Port on Partner Orchestration” as “X.O1.P1”.
Now, when running the port configuration wizard for P2 select “DirectBinding” and select “Port on Partner Orchestration” as “X.O1.P1”. (yes, the same again!)
Aternatively, you could select “X.O2.P2” for both and that will work too aslong as you use the same port to do the direct binding on both ends of the binding.
Direct Binding Works based on the following Promoted Properties:
<Property Name=”PartnerPort” Namespace=”http://schemas.microsoft.com/BizTalk/2003/system-properties” Value=”Send_RFQ” />
<Property Name=”PartnerService” Namespace=”http://schemas.microsoft.com/BizTalk/2003/system-properties” Value=”Saravana.Biztalk.Learning.Orchestration.DirectBinding_Sender, Saravana.Biztalk.Learning.Orchestration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0ae8b79fc00802f5″ />
<Property Name=”Operation” Namespace=”http://schemas.microsoft.com/BizTalk/2003/system-properties” Value=”OneWayRFQPT_Opr” />