Here is the code where we are stting the destination for an activity:
IServiceWireTransfer
wireService = wireServiceChannel.CreateChannel();
WireTransferOperationUsers] users = wireService.GetUsersForExecution(activityType, (long)wireID);
foreach (WireTransferOperationUser activityUser in users)
{
DestinationType destType = activityUser.Operation.IsGroup ? DestinationType.Group : DestinationType.User;
destinations.Add(
new Destination(destType, activityUser.UserName));
Logger.WriteLog(string.Format("Destination Set for {0}. WireID: {1}.", activityType.ToString(), wireID.ToString()),System.Diagnostics.TraceEventType.Verbose, stringTable, typeof(DestinationSelector));
}
if (destinations.Count == 0 && !allow0Destinations)
{
throw new Exception(string.Format("Could not find authorized destination for {0}. WireID: {1}.", activityType.ToString(), wireID.ToString()));
}
How is your destination rule setup in advanced mode? Is it plan just once, or plan per destination?
It is setup as 'Plan per slot (no destinations)'
The code included above is what is called from the DestinationRule_ExecuteCode method