{"record":{"id":"a184956dcf39eac4","repo":"flowable/flowable-engine","slug":"unsupported-payload-type","errorCode":null,"errorMessage":"Unsupported payload type: {} ","messagePattern":"Unsupported payload type: (.+?) ","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/DefaultJsonPayloadValueTransformer.java","lineNumber":49,"sourceCode":"            value = parameterNode.asString();\n\n        } else if (EventPayloadTypes.BOOLEAN.equals(definitionType)) {\n            value = parameterNode.booleanValue(false);\n\n        } else if (EventPayloadTypes.INTEGER.equals(definitionType)) {\n            value = parameterNode.intValue(0);\n\n        } else if (EventPayloadTypes.DOUBLE.equals(definitionType)) {\n            value = parameterNode.doubleValue(0.0d);\n\n        } else if (EventPayloadTypes.LONG.equals(definitionType)) {\n            value = parameterNode.longValue(0L);\n\n        } else if (EventPayloadTypes.JSON.equals(definitionType)) {\n            value = parameterNode;\n\n        } else {\n            LOGGER.warn(\"Unsupported payload type: {} \", definitionType);\n            value = parameterNode.asString();\n\n        }\n\n        return value;\n    }\n}\n","sourceCodeStart":31,"sourceCodeEnd":57,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/DefaultJsonPayloadValueTransformer.java#L31-L57","documentation":"DefaultJsonPayloadValueTransformer.converts a JSON payload node to a Java value based on the payload definition's declared type (string, integer, long, boolean, date, json...). When the declared type is not one of the known EventPayloadTypes constants, the transformer logs a warning and falls back to returning the node's string representation.","triggerScenarios":"An event payload definition (in the event registry JSON model) declares a definitionType string that does not match any supported EventPayloadTypes constant (e.g. 'double', 'float', or a misspelled type), and a payload value is transformed when receiving/handling the event.","commonSituations":"Hand-edited event registry model JSON with an unsupported type; version mismatch between the registry model and the runtime's supported payload types; custom payload types registered in the model but not recognized by the default transformer.","solutions":["Change the payload definition's definitionType in the event model JSON to a supported EventPayloadTypes value (string, integer, long, boolean, date, json)","If you truly need a custom type, implement/extend a payload value transformer and register it instead of relying on the default","Verify the event registry model version matches the Flowable runtime version","If string output is acceptable, you can ignore the warning, but be aware values arrive as String"],"exampleFix":"// before (event model JSON)\n{\"name\":\"amount\",\"type\":\"double\"}\n// after\n{\"name\":\"amount\",\"type\":\"long\"}","handlingStrategy":"validation","validationCode":"Set<String> supported = Set.of(\"string\",\"integer\",\"long\",\"boolean\",\"date\",\"json\");\nfor (EventPayloadDefinition p : eventModel.getPayload()) {\n    if (!supported.contains(p.getType())) {\n        throw new IllegalArgumentException(\"Unsupported payload type: \" + p.getType());\n    }\n}","typeGuard":"boolean isSupportedPayloadType(String t) {\n    return t != null && EventPayloadTypes.ALL.contains(t);\n}","tryCatchPattern":null,"preventionTips":["Validate event registry model JSON against the schema before deploying","Only use EventPayloadTypes constants when authoring payload definitions","Keep the Flowable model/runtime versions aligned","Treat the WARN as a signal to add a custom transformer for genuinely new types"],"tags":["flowable","event-registry","json","payload","type-mismatch"],"backgroundTag":"invalid-enum-value","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}