Level 3 Exercise 2 GetTransactionData Runs but then faults before processing any data

Hi All,

I’m having some problems after GetTransactionData workflow which seems to run but then the processing transaction doesn’t seem to activate.

This is my main workflow

Main.xaml (66.0 KB)

This is my GetTransactionData
GetTransactionData.xaml (13.6 KB)

and this is my Process workflow

Process.xaml (10.2 KB)

I put a simple message box in as the first thing in the process workflow

image

but this is not being activated even though in the output pane says the invoke is executing it then says faulted but not why

image

image

The arguments for the invoke ProcessTransaction Workflow are

and you can see in the locals window (as it is running in debug mode that there seem to be values in those arguments)

Any suggestions are welcome,

Many thanks,

Thanks for that but I was under the impression that we were not using queues for this example as we scrape all the data from the website and put it into a data table then into an array of datarows (so I thought for this one that queues were not a part of it) I may of course have got that completely wrong and I need to uncomment the Get Transaction Item (that I commented as there was no get transaction item in the walkthrough description)

Yeah, you are right! I thought this was the last yearly report exercise! My bad :sweat:
SMH.
Keep it commented!

GetTransactionData (1).xaml (7.9 KB)
I’ve deleted the steps that were not required! Try if this works :slight_smile:

Trying it now. Looks like you moved the assign for the transactionID outside of the if and removed the other assigns that weren’t doing much anyway.

Unfortunately I’m still getting Invoke processtransaction workflow faulted

image

image

image

The problem is I can’t tell why it’s faulted.

Ahh when it goes into the catch for process transaction

image

[System.ArgumentException: The values provided for the root activity’s arguments did not satisfy the root activity’s requirements:
‘Process’: Expected an input parameter value of type ‘UiPath.Core.QueueItem’ for parameter named ‘in_TransactionItem’.
Parameter name: rootArgumentValues
at UiPath.Core.Activities.InvokeWorkflowFile.EndExecute(AsyncCodeActivityContext context,
IAsyncResult result)
at System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context,
IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor,
BookmarkManager bookmarkManager)]

So maybe somewhere I need to change the type of the in_TransactionItem from queue item to something else (maybe datarow?). I’ll have to investigate.

Thanks for the help

So the investigation didn’t resolve much.

I typed transactionitem into the search box in the top right hand corner of studio and went through every occurence to see if at any point anything with transactionitem in it was defined as a queue item and I couldn’t see anything so not sure what to try next.

image

Please share your updated Main.xaml file :smiley:

This is my main at the moment.

Main.xaml (65.9 KB)

Many thanks,


Here is the problem!!
This is inside Process Transaction where process.xaml is invoked!
Change this to data row and set it’s value as TransactionItem!

2 Likes

LEGEND!!! Thanks very much I don’t know how I missed that I thought I’d hit everything in that search list (maybe it doesn’t show arguments).

Thank you so much I will double check args next time.

You’re Welcome :slight_smile:
Happy to help you!
Cheers!

This is very weird if I look at the invoke ProcessTransaction workflow

image

and I go to edit arguments I have this (before making any changes you suggested)

so it looks like it’s already a DataRow

but if I go to Import Arguments

it shows as a queue item (and now because I’ve hit the import arguments if I now go back to edit arguments it shows as a Queue Item)

Anyway I’m going to make the change in the import arguments and then test it thanks.

Open Process.xaml worklow. There in the arguments tab set the respective argument to DataRow type…

Got it thanks

Also if you could mark as solution :slight_smile: It would help others!