flowable/flowable-engine · warning

Error parsing input expression

Error message

Error parsing input expression

What it means

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.

Source

Thrown at modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/AllowedValuesParser.java:52

        if (!(parentElement instanceof ItemDefinition itemDefinition)) {
            return;
        }

        UnaryTests allowedValues = new UnaryTests();

        boolean readyWithAllowedValues = false;
        try {
            while (!readyWithAllowedValues && xtr.hasNext()) {
                xtr.next();
                if (xtr.isStartElement() && ELEMENT_TEXT.equalsIgnoreCase(xtr.getLocalName())) {
                    allowedValues.setText(xtr.getElementText());

                } else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
                    readyWithAllowedValues = true;
                }
            }
        } catch (Exception e) {
            LOGGER.warn("Error parsing input expression", e);
        }

        itemDefinition.setAllowedValues(allowedValues);
    }
}

View on GitHub (pinned to d6d39ce1c6)

Solutions

  1. Check the attached stack trace to see the concrete XMLStreamException and the offending location.
  2. Validate the .dmn file against the DMN XSD before deployment (xmllint --schema or a validator).
  3. Re-export the model from the DMN designer tool to regenerate well-formed XML.
  4. If strictness is desired, patch parsing to rethrow instead of warn so bad models fail deployment.

Example fix

// before
<dmndi:DMNDI/> <!-- truncated / malformed allowedValues block -->
// after
<dmn:allowedValues>
  <dmn:text>"A","B"</dmn:text>
</dmn:allowedValues>
Defensive patterns

Strategy: validation

Validate before calling

// validate DMN XML (and allowedValues blocks) before deployment
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("dmn.xsd"));
Validator v = schema.newValidator();
v.validate(new StreamSource(new File("model.dmn"))); // throws on malformed XML

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Understand the failure class

Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.

Related errors


AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11). Data as JSON: /api/errors/2148a1efee8b2581. Report an issue: GitHub.