If you get an "Illegal direct
binding port" as a compilation error when you have a Direct Port Binding between 2 orchestrations:
Maybe you have set
different Port on partner orchestration
on the two ports that are direct binding.
1.
In Orchestration A, select the Port shape
in the orchestration Toolbox. This starts the Port
Configuration Wizard.
2. On the Port
Properties page, in the Name field, type MyReceivePort. Click Next.
3. On the Select
a Port Type page, select Create a new Port Type. In
the Port Type Name field, type MyPartnerPortType. Click Next.
4.
On the Port Binding page, in
the Port direction of communication drop-down list,
select I'll always be receiving messages on this port. In the Port
binding drop-down list, select Direct.
5.
Select To receive messages from other
orchestrations, select this port here and in those orchestrations, and then
in the Port on partner orchestration drop-down list,
select OrchestrationA.MyReceivePort. Click Next.
6.
On the Completing the Port Wizard page,
click Finish.
7. In Orchestration
B, select the Port shape in the orchestration Toolbox. This starts the Port Configuration Wizard.
8. On the Port
Properties page, in the Name field, type MySendPort. Click Next.
9.
On the Select a Port Type page,
select Use an existing Port Type. Under Available Port
Types, select MyPartnerPortType, and then click Next.
10. On the Port
Binding page, in the Port direction of communication drop-down
list, select I'll always be sending messages on this port. In the Port
binding drop-down list, select Direct.
11. Select To
send messages to other orchestrations, select this port here and in those
orchestrations, and then in the Port on partner orchestration drop-down
list, select OrchestrationA.MyReceivePort. Click Next.
12. On the Completing
the Port Wizard page, click Finish.