NullreferenceException in GetTransactionItem


#1

Hi all,

we’re in the process of cleaning up a the initial bot set up and spin-up, specifically about getting data from a queue to a job. To facilitate and standardize that, we’ve created a custom activity, which works well with mock-data. However, once we attempt to invoke GetTransactionItem, it fails. We have narrowed it down to exactly that function:

				string queueName = "QueueTest";

                var arguments = new Dictionary<string, object>
                {
                    { "QueueType", queueName }, // This is correct; labeled 'QueueName' in Designer
                    { "TimeoutMS", 60000 }
                };
                var outputs = WorkflowInvoker.Invoke(new GetTransactionItem(), arguments);

This fails with:

 System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.ActivityInstance.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

Interestingly, it doesn’t crash the activity, but simply returns a null object for TransactionItem. We’ve used various other notations, and even wrapped the GetTransactionItem in a Sequence, but these all fail to varying degrees, usually back to the NullReferenceException.

We also call LogMessage, and tested MessageBox, and both work without issues.

We’re completely blocked at this stage. Are there better logging facilities available? Would you have any insight into what’s broken here?

Thank you!