RPA Robotic Task is unable to return appianDocument variable from subtask.
I have a subtask that receives a text variable from the parent in the input and is meant to return 2 variables in the output, an AppianDocument and the name of said document as a Text variable.
I have logs put in place to see the results of the expressions that run the queries necessary to fetch the document and it's name. And the logs return the following:
[WARN] 2023-12-01 13:08:03 01m 26s (0h) - com.novayre.jidoka.client.api.appian.documents.AppianDocument@5ec6
for the log that just returns the Appiandocument pv!Document variable.
[WARN] 2023-12-01 13:12:50 55s (0h) - Got Document SEC_195818008_08
for the log that returns the string "Got Document" & pv!DocName.
But the variables in the console appear as null and as a "" string respectively. As if they never got casted.
And when I want to return the variables to the parent robotic task, it returns an error.
[ERROR] 2023-12-01 13:12:51 55s (0h) - Error executing action [robotic-subprocess->exitV2]
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1559)
at com.novayre.jidoka.client.RobotClientExecutor.onManageExceptionMethodCall(RobotClientExecutor.java:776)
at com.novayre.jidoka.client.WorkflowProcessor.invokeManageExceptionMethod(WorkflowProcessor.java:221)
at com.novayre.jidoka.client.WorkflowProcessor.manageException(WorkflowProcessor.java:255)
at com.novayre.jidoka.client.WorkflowProcessor.start(WorkflowProcessor.java:169)
at com.novayre.jidoka.client.RobotClientExecutor.workflow(RobotClientExecutor.java:732)
at com.novayre.jidoka.client.RobotClientExecutor.runJavaTechnologyRobot(RobotClientExecutor.java:638)
at com.novayre.jidoka.client.ETechnologyClient.runJava(ETechnologyClient.java:241)
at com.novayre.jidoka.client.ETechnologyClient.lambda$static$1(ETechnologyClient.java:37)
at com.novayre.jidoka.client.ETechnologyClient.run(ETechnologyClient.java:96)
at com.novayre.jidoka.client.RobotClientExecutor.tryExecute(RobotClientExecutor.java:412)
at com.novayre.jidoka.client.RobotClientExecutor.execute(RobotClientExecutor.java:213)
at com.novayre.jidoka.client.ResponseHandler.execute(ResponseHandler.java:324)
at com.novayre.jidoka.client.ResponseHandler.robotDeclaredResponse(ResponseHandler.java:274)
at com.novayre.jidoka.client.ResponseHandler.onMessage(ResponseHandler.java:149)
at com.novayre.jidoka.client.ClientManager.processResponse(ClientManager.java:1715)
at com.novayre.jidoka.client.ClientManager.internalSendCommandRetry(ClientManager.java:1417)
at com.novayre.jidoka.client.ClientManager.internalSendCommand(ClientManager.java:1283)
at com.novayre.jidoka.client.ClientManager.sendCommand(ClientManager.java:1064)
at com.novayre.jidoka.client.ClientManager.sendCommand(ClientManager.java:1053)
at com.novayre.jidoka.client.ClientManager.loop(ClientManager.java:1044)
at com.novayre.jidoka.client.ClientManager.realConnectToServer(ClientManager.java:926)
at com.novayre.jidoka.client.ClientManager.connectToServer(ClientManager.java:884)
at com.novayre.jidoka.client.JidokaClient.connect(JidokaClient.java:976)
at com.novayre.jidoka.client.JidokaClient.mainLoop(JidokaClient.java:578)
at com.novayre.jidoka.client.JidokaClient.run(JidokaClient.java:564)
at com.novayre.jidoka.client.JidokaClient.main(JidokaClient.java:403)
Caused by: com.novayre.jidoka.client.api.exceptions.JidokaException: Error invoking method 'robotic-subprocess->exitV2'
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1316)
at com.novayre.jidoka.client.RobotClientExecutor.internalCallAction(RobotClientExecutor.java:908)
at com.novayre.jidoka.client.RobotClientExecutor.onMethodCall(RobotClientExecutor.java:764)
at com.novayre.jidoka.client.WorkflowProcessor.start(WorkflowProcessor.java:158)
... 22 more
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Class.isEnum()" because "clazz" is null
at com.novayre.jidoka.bridge.ESDKParameterConverter.convert(ESDKParameterConverter.java:103)
at com.novayre.jidoka.client.ParameterResolver.resolve(ParameterResolver.java:131)
at com.novayre.jidoka.client.ParameterResolver.resolveTableCellValue(ParameterResolver.java:238)
at com.novayre.jidoka.client.ParameterResolver.resolveTableCell(ParameterResolver.java:211)
at com.novayre.jidoka.client.ParameterResolver.lambda$resolveDynamicTable$0(ParameterResolver.java:178)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729)
at com.novayre.jidoka.client.ParameterResolver.lambda$resolveDynamicTable$1(ParameterResolver.java:178)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729)
at com.novayre.jidoka.client.ParameterResolver.resolveDynamicTable(ParameterResolver.java:176)
at com.novayre.jidoka.client.ParameterResolver.resolve(ParameterResolver.java:161)
at com.novayre.jidoka.client.ParameterResolver.lambda$resolveNestedParams$2(ParameterResolver.java:320)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729)
at com.novayre.jidoka.client.ParameterResolver.resolveNestedParams(ParameterResolver.java:297)
at com.novayre.jidoka.client.ParameterResolver.resolveLegacyOrNestedParameter(ParameterResolver.java:275)
at com.novayre.jidoka.client.ParameterResolver.resolve(ParameterResolver.java:107)
at com.novayre.jidoka.client.StepMethodParametersResolver.fillParams(StepMethodParametersResolver.java:105)
at com.novayre.jidoka.client.SDKInvoker.invoke(SDKInvoker.java:53)
at com.novayre.jidoka.client.RobotClientExecutor.internalInvokeMethod(RobotClientExecutor.java:1345)
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1299)
... 25 more
What is going on? I have another robotic subtask in the same parent with the same input that returns a boolean, and it doesn't have this problem.
My Appian Version is 23.3 and Appian RPA 9.4.0
