{"record":{"id":"de1a1f14589997d6","repo":"flowable/flowable-engine","slug":"could-not-find-org-flowable-http-httpactivitybehav-de1a1f","errorCode":null,"errorMessage":"Could not find org.flowable.http.HttpActivityBehavior: ","messagePattern":"Could not find org\\.flowable\\.http\\.HttpActivityBehavior: ","errorType":"validation","errorClass":"FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/parser/factory/DefaultActivityBehaviorFactory.java","lineNumber":367,"sourceCode":"                    break;\n                }\n            }\n\n            if (behaviorExtension != null) {\n                serviceTask.getFieldExtensions().remove(behaviorExtension);\n            }\n\n            if (theClass == null) {\n                return createDefaultActivityBehaviour(serviceTask);\n            }\n\n            return classDelegateFactory.create(serviceTask.getId(), theClass.getName(),\n                    createFieldDeclarations(serviceTask.getFieldExtensions()),\n                    serviceTask.isTriggerable(),\n                    getSkipExpressionFromServiceTask(serviceTask), serviceTask.getMapExceptions());\n\n        } catch (ClassNotFoundException e) {\n            throw new FlowableException(\"Could not find org.flowable.http.HttpActivityBehavior: \", e);\n        }\n    }\n\n    protected ActivityBehavior createDefaultActivityBehaviour(ServiceTask serviceTask) {\n        if (ImplementationType.IMPLEMENTATION_TYPE_CLASS.equals(serviceTask.getImplementationType())) {\n            return createClassDelegateServiceTask(serviceTask);\n        } else if (ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION.equals(serviceTask.getImplementationType())) {\n            return createServiceTaskDelegateExpressionActivityBehavior(serviceTask);\n        } else {\n            return classDelegateFactory.create(serviceTask.getId(), DefaultBpmnHttpActivityDelegate.class.getName(),\n                    createFieldDeclarations(serviceTask.getFieldExtensions()),\n                    serviceTask.isTriggerable(),\n                    getSkipExpressionFromServiceTask(serviceTask), serviceTask.getMapExceptions());\n        }\n    }\n\n    @Override\n    public ActivityBehavior createBusinessRuleTaskActivityBehavior(BusinessRuleTask businessRuleTask) {","sourceCodeStart":349,"sourceCodeEnd":385,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/parser/factory/DefaultActivityBehaviorFactory.java#L349-L385","documentation":"For HTTP service tasks (flowable:type=\"http\"), DefaultActivityBehaviorFactory.createHttpActivityBehavior loads the HTTP behavior class from the flowable-http module. If that class is not on the classpath, the ClassNotFoundException is wrapped in FlowableException(\"Could not find org.flowable.http.HttpActivityBehavior: \").","triggerScenarios":"Deploying or executing a process with <serviceTask flowable:type=\"http\"> while the flowable-http dependency is missing from the engine's runtime classpath.","commonSituations":"Engine installed without the optional flowable-http module; process definitions using http tasks moved to a slim deployment; dependency exclusions stripping flowable-http.","solutions":["Add the flowable-http dependency (org.flowable:flowable-http) to the application","If HTTP tasks are not intended, remove/replace the http service tasks in the BPMN XML","Confirm the jar containing org.flowable.http.HttpActivityBehavior is packaged in the deployment artifact"],"exampleFix":"// before (pom.xml)\n<!-- missing -->\n// after (pom.xml)\n<dependency>\n  <groupId>org.flowable</groupId>\n  <artifactId>flowable-http</artifactId>\n  <version>${flowable.version}</version>\n</dependency>","handlingStrategy":"fallback","validationCode":"try {\n    Class.forName(\"org.flowable.http.HttpActivityBehavior\");\n} catch (ClassNotFoundException e) {\n    throw new IllegalStateException(\"flowable-http module missing from classpath\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    repositoryService.createDeployment().deploy();\n} catch (FlowableException e) {\n    if (e.getMessage().startsWith(\"Could not find org.flowable.http.HttpActivityBehavior\")) {\n        log.error(\"Add org.flowable:flowable-http to dependencies\");\n    }\n}","preventionTips":["Add flowable-http dependency when using flowable:type=\"http\" tasks","Audit process definitions for http tasks before slimming deployments","Verify packaged jars include optional modules in use"],"tags":["classpath","http","missing-dependency"],"backgroundTag":"class-not-found","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"}