How can a Boolean value from a sub-microflow returns a null-value.

0
All, in a sub-microflow I return a Boolean. in the caller-flow there is a true/false-decision directly after the sub-flow. Sometimes the sub-flow unexpectedly returns a null-value that causes an error at the decision. Any idea what may cause this? (i have no Java, nor any other than plain flow actions). Any help is appreciated. To add a simple test on the Boolean value as empty is not allowed: booleans are never null! Mendix 9.24.16     Connector Message An error has occurred while handling the request. [User 'xxxxx' with session id '2eb9f52d-XXXX-XXXX-XXXX-XXXXXXXX9fd3' and roles 'abcd, pqrs'] Stack trace com.mendix.modules.microflowengine.MicroflowException: No connecting flow found after processing activity 'Ritnummers toegewezen (2)?' (gateway value: null) in microflow 'Vervoersplan.SUB_Vervoersplan_ToekennenRitnummers' at Vervoersplan.SUB_Vervoersplan_ToekennenRitnummers (Gateway : 'Ritnummers toegewezen (2)?') at Vervoersplan.ACT_Vervoersplan_ExportToExcel_Export (SubMicroflow : 'SUB_Vervoersplan_ToekennenRitnummers')   Advanced stacktrace: at com.mendix.modules.microflowengine.MicroflowUtil.processException(MicroflowUtil.java:83) Caused by: com.mendix.systemwideinterfaces.MendixRuntimeException: No connecting flow found after processing activity 'Ritnummers toegewezen (2)?' (gateway value: null) in microflow 'Vervoersplan.SUB_Vervoersplan_ToekennenRitnummers' at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.findNextMicroflowObject(MicroflowObject.scala:93) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.processReturnValueAndFindNextMicroflowObject(MicroflowObject.scala:77) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:38) at scala.Option.flatMap(Option.scala:283) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:29) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)
asked
3 answers
0

Are you really returning only booleans in the sub microflow or is there a possible line in there where you return $object/booleanattribute while $object is empty? Put the debugger in there and try to find out.

answered
0

I think the cause of the problem is that a subthread unexpectedly returns a null value, which causes a decision error in the calling thread. This could likely be caused by incorrect conditions in your microflow logic or some unwanted side effects in your application. You should carefully check your microflow and make sure that all conditions and actions are configured correctly. Check to see if there are any conditions or operations that could cause the subflow to return a null value.

answered
0

This issue also occurs when you have specified an error-microflow on your concurrency setting of the submicroflow. In this case, the return value of the original microflow is ignored. If the top-level microflows contains any actions after calling this submicroflow, it will be a null/empty-value.

Since you cannot check for this scenario, the solution is to add custom error-handling when calling the submicroflow and specifying an error-message rather than an error-microflow set in the concurrency setting of submicroflows, since error-microflows will never enter the error-flow of the associated action if specified, only error-messages will.

answered