flowable/flowable-engine · error · FlowableException

Error converting standard event

Error message

Error converting standard event

What it means

Thrown when the StAX reader fails while reading the text of a <standardEvent> element during CMMN conversion. The event is applied either to a TimerEventListener (start trigger standard event) or to the current Sentry on-part; unreadable XML aborts with this wrapped FlowableException.

Source

Thrown at modules/flowable-cmmn-converter/src/main/java/org/flowable/cmmn/converter/StandardEventXmlConverter.java:47

        return CmmnXmlConstants.ELEMENT_STANDARD_EVENT;
    }
    
    @Override
    public boolean hasChildElements() {
        return false;
    }

    @Override
    protected BaseElement convert(XMLStreamReader xtr, ConversionHelper conversionHelper) {
        try {
            String event = xtr.getElementText();
            if (conversionHelper.getCurrentCmmnElement() instanceof TimerEventListener timerEventListener) {
                timerEventListener.setTimerStartTriggerStandardEvent(event);
            } else {
                conversionHelper.getCurrentSentryOnPart().setStandardEvent(event);
            }
        } catch (XMLStreamException e) {
            throw new FlowableException("Error converting standard event", e);
        }
        return null;
    }
    
}

View on GitHub (pinned to d6d39ce1c6)

Solutions

  1. Validate and repair the <standardEvent> element in the CMMN XML.
  2. Check the wrapped XMLStreamException cause for the precise location.
  3. Ensure the element is well-formed, e.g. <standardEvent>complete</standardEvent>.
  4. Re-export the model from the CMMN editor.

Example fix

// before
<standardEvent>complet
// after
<standardEvent>complete</standardEvent>
Defensive patterns

Strategy: try-catch

Validate before calling

javax.xml.validation.Validator v = schema.newValidator();
v.validate(new StreamSource(cmmnXml)); // fails early on malformed standardEvent elements

Try / catch

try {
    CmmnModel model = converter.convertToCmmnModel(in);
} catch (FlowableException e) {
    throw new IllegalStateException("Invalid <standardEvent> in CMMN XML: " + e.getCause(), e);
}

Prevention

When it happens

Trigger: Parsing CMMN XML with a <standardEvent> child inside a sentry onPart or timer event listener where getElementText() throws XMLStreamException (malformed element, invalid characters, wrong nesting).

Common situations: Hand-edited sentry definitions; missing closing tags; invalid whitespace/characters from copy-paste; encoding problems.

Understand the failure class

Background: "failed to read file", EACCES, ENOENT and "could not read <path>" errors: when a program can't read a file from disk — this error's family across 49 libraries.

Related errors


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