{"record":{"id":"2148a1efee8b2581","repo":"flowable/flowable-engine","slug":"error-parsing-input-expression","errorCode":null,"errorMessage":"Error parsing input expression","messagePattern":"Error parsing input expression","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/AllowedValuesParser.java","lineNumber":52,"sourceCode":"        if (!(parentElement instanceof ItemDefinition itemDefinition)) {\n            return;\n        }\n\n        UnaryTests allowedValues = new UnaryTests();\n\n        boolean readyWithAllowedValues = false;\n        try {\n            while (!readyWithAllowedValues && xtr.hasNext()) {\n                xtr.next();\n                if (xtr.isStartElement() && ELEMENT_TEXT.equalsIgnoreCase(xtr.getLocalName())) {\n                    allowedValues.setText(xtr.getElementText());\n\n                } else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {\n                    readyWithAllowedValues = true;\n                }\n            }\n        } catch (Exception e) {\n            LOGGER.warn(\"Error parsing input expression\", e);\n        }\n\n        itemDefinition.setAllowedValues(allowedValues);\n    }\n}\n","sourceCodeStart":34,"sourceCodeEnd":58,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/AllowedValuesParser.java#L34-L58","documentation":"A warning logged by AllowedValuesParser.parseChildElement when any exception occurs while reading the <allowedValues> child element of a DMN input expression from the XML stream (XMLStreamException, unexpected element structure, etc.). Flowable intentionally logs-and-continues: the parsed DMN model ends up with null allowedValues, which can later break hit-policy validation or validation of input entries. The DMN XML is not rejected, so the actual parse failure is only visible in the attached stack trace.","triggerScenarios":"parseChildElements dispatches to AllowedValuesParser for an <inputEntry>/<inputExpression> child named 'allowedValues'; the underlying XMLStreamReader throws (malformed XML, unexpected token/EOF) while iterating elements until the matching end element.","commonSituations":"Hand-edited or tool-generated .dmn XML with malformed or truncated allowedValues sections; DMN exported by a different vendor with non-standard child element ordering; wrong namespace prefixes.","solutions":["Check the attached stack trace to see the concrete XMLStreamException and the offending location.","Validate the .dmn file against the DMN XSD before deployment (xmllint --schema or a validator).","Re-export the model from the DMN designer tool to regenerate well-formed XML.","If strictness is desired, patch parsing to rethrow instead of warn so bad models fail deployment."],"exampleFix":"// before\n<dmndi:DMNDI/> <!-- truncated / malformed allowedValues block -->\n// after\n<dmn:allowedValues>\n  <dmn:text>\"A\",\"B\"</dmn:text>\n</dmn:allowedValues>","handlingStrategy":"validation","validationCode":"// validate DMN XML (and allowedValues blocks) before deployment\nSchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);\nSchema schema = sf.newSchema(new File(\"dmn.xsd\"));\nValidator v = schema.newValidator();\nv.validate(new StreamSource(new File(\"model.dmn\"))); // throws on malformed XML","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate .dmn files against the DMN XSD in CI/build","Never hand-edit DMN XML; round-trip through the modeling tool","Treat any 'Error parsing ...' warning as a failed model: re-deploy only validated files","After parsing, assert getAllowedValues() != null where your logic depends on it"],"tags":["flowable","dmn","xml-parsing","warning"],"backgroundTag":"schema-validation-failed","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}