When publishing my workflow definition, I specify three mapped / external variables, i.e:
client.PublishWorkflow(workflowName, @"..\..\MyWorkflow.xaml", new Collection<ExternalVariable> { new ExternalVariable<string> { Name = "AccountID", Modifiers = System.Activities.VariableModifiers.Mapped }, new ExternalVariable<int[]> { Name = "AssignedDomains", Modifiers = System.Activities.VariableModifiers.Mapped }, new ExternalVariable<int> { Name = "OfficeID", Modifiers = System.Activities.VariableModifiers.Mapped } }, new Dictionary<string, string>() { { "ApprovalReminderPeriodHours", "1" }, { "ResubmissionReminderPeriodHours", "1" } });
Within the workflow, OfficeID is defined as an input argument, whereasAccountID and AssignedDomains are just variables at the root workflow scope.
After starting an instance of the workflow, only the OfficeID is accessible via mapped variables and onlyOfficeID is persisted to the WFInstanceManagementDB.dbo.MappedVariables database table. The other two are nowhere to be found.
Has anyone else experienced this?