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
- Validate and repair the <standardEvent> element in the CMMN XML.
- Check the wrapped XMLStreamException cause for the precise location.
- Ensure the element is well-formed, e.g. <standardEvent>complete</standardEvent>.
- 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
- Schema-validate CMMN XML before conversion
- Use only valid standard event names (e.g. complete, occur)
- Re-export from the modeler instead of editing XML by hand
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
- Error while reading {ATTRIBUTE_ELEMENT_NAME} extension eleme
- Error converting process reference expression
- Error converting text annotation
- Error converting timer expression
- Plan item could not be found for <elementId>
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/cfe40a26a989ca3a.
Report an issue: GitHub.