flowable/flowable-engine · warning
Unsupported payload type
Error message
Unsupported payload type: {} What it means
This WARN is logged by XmlElementsToMapPayloadExtractor.getPayloadValue when the payload definition declares a type not among the supported ones (string, integer, double, long, etc.). The extractor falls back to returning the raw text content instead of a converted value. The event still processes, but the payload value may have an unexpected type.
Solutions
- Change the payload definition type in the event model to a supported EventPayloadTypes value (string, integer, long, double)
- Fix casing/typos so definitionType matches EventPayloadTypes constants exactly
- Upgrade Flowable if a needed payload type was added in a newer version
- Validate the event definition XML against the supported payload types before deployment
Example fix
<!-- before --> <payload name="amount" type="decimal"/> <!-- after --> <payload name="amount" type="double"/>
Defensive patterns
Strategy: validation
Validate before calling
// whitelist check before deploying an event definition
Set<String> allowed = Set.of("string","integer","long","double");
if (!allowed.contains(payloadDefinition.getType())) {
throw new IllegalArgumentException("Unsupported payload type: " + payloadDefinition.getType());
} Prevention
- Only use EventPayloadTypes constants in event model XML
- Validate event definition XML against supported types in CI
- Avoid hand-editing event definitions; use the Event Registry editor
- If a value is naturally untyped, declare it as string
When it happens
Trigger: extractPayload calls getPayloadValue for an XML event whose payload definition type (definitionType) is an unsupported string, e.g. a custom type name like 'date' or 'boolean' not in EventPayloadTypes.
Common situations: Event model XML declares a payload type the extractor does not know; copy-pasted type name with wrong casing; newer Flowable types used against an older extractor; hand-edited event definition XML.
Related errors
- Cannot create an event-throwing event-listener, unknown…
- Could not deserialize event to xml
- Could not evaluate xpath expression
- Could not evaluate xpath expression
- Could not parse Mybatis configuration file
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/7476e3cdbe314766.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/payload/XmlElementsToMapPayloadExtractor.java:70
String textContent = childNode.getTextContent();
if (EventPayloadTypes.STRING.equals(definitionType)) {
return textContent;
} else if (EventPayloadTypes.BOOLEAN.equals(definitionType)) {
return Boolean.valueOf(textContent);
} else if (EventPayloadTypes.INTEGER.equals(definitionType)) {
return Integer.valueOf(textContent);
} else if (EventPayloadTypes.DOUBLE.equals(definitionType)) {
return Double.valueOf(textContent);
} else if (EventPayloadTypes.LONG.equals(definitionType)) {
return Long.valueOf(textContent);
} else {
LOGGER.warn("Unsupported payload type: {} ", definitionType);
return textContent;
}
}
return null;
}
protected Node getChildNode(Document document, String elementName) {
NodeList childNodes = null;
if (document.getChildNodes().getLength() == 1) {
childNodes = document.getFirstChild().getChildNodes();
} else {
childNodes = document.getChildNodes();
}
for (int i = 0; i < childNodes.getLength(); i++) {
Node node = childNodes.item(i);
if (elementName.equals(node.getNodeName())) {View on GitHub (pinned to d6d39ce1c6)