Introduction -
Hi Everyone, In this
post I will explore the different states a subscriber like Port, Orchestration
etc can be have.
I had to do a lot of research, to write this post and also
it took me considerable time to write.
Description -
Publishers like Receive ports can be enabled
or disabled, where as
Subscribers like Send ports, Orchestration can be enlisted, started, unelisted or stopped.
Enlist means Create Subscription
in MessageBox.
Unenlist means Remove Subscription
from MessageBox.
Let’s look into the functionality by taking a Subscriber
Scenario 1) Started - When
a subscriber is Started, the subscriber is enlisted also this means that the
message box can receive any messages on behalf of the subscriber. Hence the
message flows smoothly through the Message box.
I.e. Messages come into the Message box and will be waiting inside
the Message box in Suspended (Resumable)
state till the subscriber is started,
Scenario 3) Unelisted -
When we are unenlisting a Subscriber, it will be stopped also – means that the Subscriber
is unavailable hence the message box cannot receive any messages on behalf of subscriber.
An error occurs with the following description
Error details: “The published message could not be routed because no subscribers
were found. This error occurs
if the subscribing orchestration or send port has not been enlisted, or if some
of the message properties necessary for subscription evaluation have not been
promoted. Please use the BizTalk Administration console to troubleshoot this
failure. “
Based on the above behavior we can say that the subscriber can have
the following state at any given point of time
1) Started
2) Stopped & Enlisted
3) Unenlisted
When a subscriber is Started – we can either Stop or Unenlist
When a subscriber is Stopped - we can either Start or Unenlist.
When a subscriber is Unenlisted – we can either Start or Enlist.
Note – 1) Although Orchestration is a
subscriber as well as receiver, the orchestration can have states as listed
above.
2) We can never unenlist
a send port that has a dependency with an orchestration that is started,