I made some minor changes (Replaced a throw activity with a log mesage followed by Set Transacion Status activity) to my robot in a workflow under the Process Transaction step of my REFramework. The issue was that upon an unsuccessful transaction the robot stops entirely and stops processing the remaining ones hence the change to allow it to carry on processing.
However, when my robot executes from orchestrator, from the logs it goes straight into the transaction data and then terminates because it seems like the workflows in the initialization step are being completely skipped.
This is not the case when i run the robot on my local device though but happens when i publish it to orchestrator.
The issue you’re facing is likely because the Orchestrator process is skipping the initialization phase due to how arguments or transaction states are being handled. In the REFramework, the initialization step is crucial for setting up variables, arguments, and the environment. If it’s being skipped when running from Orchestrator, here’s what to check:
Config file or Assets: Ensure the Config file or Orchestrator Assets are accessible and correctly referenced in the Init phase. Missing configuration values can cause the process to bypass initialization.
Exceptions in Init Phase: Check for silent exceptions in the Init workflow. If exceptions occur and are not logged or properly handled, the process might directly proceed to End Process.
Input Arguments from Orchestrator: Ensure that all required input arguments for the process are being passed correctly when you trigger it via Orchestrator.
Start Node in Orchestrator: Validate that the published process’s entry point is set correctly to the Main.xaml. If it starts elsewhere, the initialization phase could be skipped.
Publish Process Properly: After making changes, republish the process to Orchestrator to ensure the latest version is being executed.
Debugging steps:
Add extensive Log Message activities at the beginning of the Init phase to ensure it is being executed.
Test the process in Studio with Orchestrator settings by simulating an Orchestrator-triggered run.
When you replace the Throw activity with log message. Log message will print the Exception in logs but not throws any exception. Then the bot will print and come to Set Transactions status workflow instead of going to System exception blocks it will go to Success block. If the Transaction is success the bot will go to Get Transaction state and pick the next transaction that’s why the initialization state is not executing.
If you want to throw the exception which is occurred in process state throw it as exception then it will go to the exception block in set transaction workflow. If it is System exception it will go to Initialization state.
hey @justinkxc you said you change the throw activity with log message .so log work is only to show the details for tracking the process and if any exception coming in the process state it just log that exception. and throw activity used to catch that exception and based on that it made to handle the process . and as i see you logs it showing that there is no transaction data means in your queues where your data is stored all transaction item is being process and no new transaction item is available.thats why it goes from get transaction state -->> to end process . try to add new fresh transaction item. and run it.