{"record":{"id":"dc3426977423cd79","repo":"frohoff/ysoserial","slug":"invalid-payload-type-payloadtype","errorCode":null,"errorMessage":"Invalid payload type '${payloadType}'","messagePattern":"Invalid payload type '(.+?)'","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/main/java/ysoserial/payloads/ObjectPayload.java","lineNumber":62,"sourceCode":"            catch ( Exception e1 ) {}\n            if ( clazz == null ) {\n                try {\n                    return clazz = (Class<? extends ObjectPayload>) Class\n                            .forName(GeneratePayload.class.getPackage().getName() + \".payloads.\" + className);\n                }\n                catch ( Exception e2 ) {}\n            }\n            if ( clazz != null && !ObjectPayload.class.isAssignableFrom(clazz) ) {\n                clazz = null;\n            }\n            return clazz;\n        }\n\n\n        public static Object makePayloadObject ( String payloadType, String payloadArg ) {\n            final Class<? extends ObjectPayload> payloadClass = getPayloadClass(payloadType);\n            if ( payloadClass == null || !ObjectPayload.class.isAssignableFrom(payloadClass) ) {\n                throw new IllegalArgumentException(\"Invalid payload type '\" + payloadType + \"'\");\n\n            }\n\n            final Object payloadObject;\n            try {\n                final ObjectPayload payload = payloadClass.newInstance();\n                payloadObject = payload.getObject(payloadArg);\n            }\n            catch ( Exception e ) {\n                throw new IllegalArgumentException(\"Failed to construct payload\", e);\n            }\n            return payloadObject;\n        }\n\n\n        @SuppressWarnings ( \"unchecked\" )\n        public static void releasePayload ( ObjectPayload payload, Object object ) throws Exception {\n            if ( payload instanceof ReleaseableObjectPayload ) {","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/frohoff/ysoserial/blob/218bcffcaaa904a4e392f0c15d9e2874533635a3/src/main/java/ysoserial/payloads/ObjectPayload.java#L44-L80","documentation":"ObjectPayload.makePayloadObject() looks up the payload class by name via getPayloadClass(); if no class is registered under that name, or the class isn't an ObjectPayload subtype, it throws IllegalArgumentException naming the bad payload type. This is the entry-point validation for all ysoserial payload generation.","triggerScenarios":"Calling ObjectPayload.makePayloadObject(payloadType, payloadArg) or the GeneratePayload CLI with a payloadType string that doesn't match a registered payload class (case-sensitive) or isn't an ObjectPayload.","commonSituations":"Typos or wrong case in payload names ('c3p0' vs 'C3P0'); listing payloads from a different ysoserial version than the one run; passing a payload argument in the payloadType slot.","solutions":["Run 'java -jar ysoserial.jar' with no args to list valid payload names and copy one exactly","Check case-sensitivity — payload names are like 'C3P0', 'CommonsCollections1'","Swap the arguments if payload type and command were reversed"],"exampleFix":"// before\nObjectPayload.makePayloadObject(\"c3p0\", cmd);\n// after\nObjectPayload.makePayloadObject(\"C3P0\", cmd);","handlingStrategy":"validation","validationCode":"if (ObjectPayload.Utils.getPayloadClass(name) == null) throw new IllegalArgumentException(\"unknown payload: \" + name);","typeGuard":null,"tryCatchPattern":"try { obj = ObjectPayload.makePayloadObject(type, arg); } catch (IllegalArgumentException e) { listPayloads(); }","preventionTips":["Copy payload names from the CLI's built-in listing","Respect case sensitivity of payload names","Pin the ysoserial version and re-check names after upgrades"],"tags":["ysoserial","cli","validation"],"backgroundTag":"invalid-enum-value","analyzedSha":"218bcffcaaa904a4e392f0c15d9e2874533635a3","analyzedAt":"2026-09-12T01:53:58.488Z","contentChangedAt":"2026-09-12T01:53:58.488Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}