{"record":{"id":"a6342ad724960bad","repo":"flowable/flowable-engine","slug":"could-not-find-a-resource-with-name-resourcename","errorCode":null,"errorMessage":"Could not find a resource with name '<resourceName>' in deployment '<deploymentId>","messagePattern":"Could not find a resource with name '<resourceName>' in deployment '<deploymentId>","errorType":"http","errorClass":"FlowableObjectNotFoundException","httpStatus":404,"severity":"error","filePath":"modules/flowable-app-engine-rest/src/main/java/org/flowable/app/rest/service/api/repository/AppDeploymentResourceDataResource.java","lineNumber":94,"sourceCode":"        \n        if (restApiInterceptor != null) {\n            restApiInterceptor.accessDeploymentById(deployment);\n        }\n\n        List<String> resourceList = appRepositoryService.getDeploymentResourceNames(deploymentId);\n\n        if (resourceList.contains(resourceName)) {\n            response.setContentType(\"application/json\");\n            try (final InputStream resourceStream = appRepositoryService.getResourceAsStream(deploymentId, resourceName)) {\n                return IOUtils.toByteArray(resourceStream);\n                \n            } catch (Exception e) {\n                throw new FlowableException(\"Error converting resource stream\", e);\n            }\n            \n        } else {\n            // Resource not found in deployment\n            throw new FlowableObjectNotFoundException(\"Could not find a resource with name '\" + resourceName + \"' in deployment '\" + deploymentId);\n        }\n    }\n}\n","sourceCodeStart":76,"sourceCodeEnd":98,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-app-engine-rest/src/main/java/org/flowable/app/rest/service/api/repository/AppDeploymentResourceDataResource.java#L76-L98","documentation":"FlowableObjectNotFoundException thrown when the requested resourceName is not present in the deployment's resource list. The deployment exists but contains no resource with that exact (case-sensitive) name.","triggerScenarios":"GET /app-repository/app-deployments/{deploymentId}/resources/{resourceName} where resourceName is misspelled or was never part of the deployment.","commonSituations":"Case-sensitive mismatch (App.json vs app.json), requesting a resource from the wrong deployment, path-encoding issues mangling slashes or special characters in the name.","solutions":["First call GET .../app-deployments/{deploymentId}/resources to list valid resource names","Copy the exact resource name from that listing","Check URL encoding if the name contains slashes or spaces"],"exampleFix":"// before\nGET /app-repository/app-deployments/123/resources/App.json\n// after (per resource listing)\nGET /app-repository/app-deployments/123/resources/app.json","handlingStrategy":"validation","validationCode":"List<String> names = appRepositoryService.getDeploymentResourceNames(deploymentId);\nif (!names.contains(resourceName)) { throw new IllegalArgumentException(resourceName + \" not in deployment \" + deploymentId); }","typeGuard":null,"tryCatchPattern":"try { ... } catch (FlowableObjectNotFoundException e) { return ResponseEntity.status(404).body(\"Unknown resource name\"); }","preventionTips":["Fetch the deployment's resource list before requesting a resource","Remember resource names are case-sensitive","URL-encode resource names containing special characters"],"tags":["rest","flowable","not-found"],"backgroundTag":"resource-not-found","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}