1. Problem
You need to validate that your orchestrations are enlisted and started.
2. Solution
Enlisting and
starting BizTalk orchestrations allows orchestration artifacts to
participate in a BizTalk solution. You can do this from the BizTalk
Administration Console, as follows:
Open the BizTalk Administration Console.
In the left pane, navigate through BizTalk Server Administration to your BizTalk group, and expand the Applications folder where your orchestration resides.
Right-click the orchestration, and select Enlist, as shown in Figure 1.
You can enlist multiple orchestrations by first holding down the Shift
key as you select the target orchestration before choosing Enlist from
the context menu. The orchestration will move from the unenlisted to the
stopped state.
Right-click your orchestration again, and select Start. Your orchestration should now be enlisted, started, and ready for use.
3. How It Works
Enlisting and
starting BizTalk orchestrations allows orchestrations to participate in
BizTalk messaging and processing solutions. You can enlist and start
orchestrations from either the BizTalk Administration Console or the
Visual Studio environment. In this recipe's solution, we demonstrated
using the BizTalk Administration Console.
Enlisting an orchestration
is similar to enlisting a send port artifact. Enlisting an orchestration
allows it to set up subscriptions with the MessageBox so it can receive
messages published to it. In essence, enlisting holistically in the
BizTalk product gives BizTalk artifacts (send ports and orchestrations)
the ability to subscribe to the MessageBox for desired message contexts.
Starting an orchestration allows an orchestration to physically consume
and process a message.
Two important prerequisites to
allow an orchestration to be started and enlisted are orchestration
binding and host binding. Only orchestrations that have been bound can
be enlisted; that is, an orchestration's port must be bound to a
solution's physical send/receive port before enlisting. Unless an
orchestration is a child orchestration or is directly bound to the
message box, all ports must be bound to a physical host (see Figure 2
for a partially bound orchestration). If you attempt to enlist or start
an orchestration when a host has not been bound, an error will occur,
indicating that the enlisting has failed, as shown in Figure 3. In addition, an orchestration's configuration cannot be unbound when in an enlisted or started state.
It's also worth noting
that entire BizTalk applications can be started and stopped. This
activity ensures that all BizTalk artifacts under an application are
enlisted, started, enabled, and ready (depending on the artifact),
without any knowledge required by the user. Figure 4 shows starting a BizTalk application.