This post was originally published here

BizTalk Self Correlating port

Self Correlating is one of the type of Direct Binding in orchestration. This is mainly used for starting child orchestration from parent orchestration and get a response from the child orchestration. This will work similar to call orchestration, but more towards asynchronize ways and we will not be using any correlation to implement this. This works like a loop back adapter. To implement self correlating direct binding, you have to perform few steps.

Parent Orchestration:

In parent orchestration, create a self correlating receive port with message type which you will be receiving from child orchestration. Connect it to a receive shape to receive message.

Before receive shape, place an start orchestration shape and it will pass on few orchestration parameters to the child orchestration.

Child Orchestration:

In child orchestration, have few orchestration parameters as you required. Add a configured port parameter with send communication direction and it will be connected with Send shape in the child orchestration.

This child orchestration configured port parameter will have value of Parent orchestration self correlating port in the Start Orchestration shape.

Once you deployed the orchestration by your preferred method, binding will be little bit tricky. You will not see any Orchestration port binding for this self correlating ports both in Parent as well as child orchestration. It will seems like a invisible/virtual port which does work for you.

This mechanism can be used in Scatter Gather Design Pattern.

Related Articles:

Code Samples: