{"record":{"id":"c2b85161c9d98aee","repo":"flowable/flowable-engine","slug":"could-not-find-decision-service-with-id-decisio","errorCode":null,"errorMessage":"Could not find decision service with id: ${decisionId}","messagePattern":"Could not find decision service with id: (.+?)","errorType":"exception","errorClass":"FlowableObjectNotFoundException","httpStatus":null,"severity":"error","filePath":"modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/util/DecisionUtil.java","lineNumber":82,"sourceCode":"        return null;\n    }\n\n    public static DecisionEntity getDecisionTableFromDatabase(String decisionTableId) {\n        DecisionEntityManager decisionTableEntityManager = CommandContextUtil.getDmnEngineConfiguration().getDecisionEntityManager();\n        DecisionEntity decisionTable = decisionTableEntityManager.findById(decisionTableId);\n        if (decisionTable == null) {\n            throw new FlowableException(\"No decision table found with id \" + decisionTableId);\n        }\n\n        return decisionTable;\n    }\n\n    public static DecisionService getDecisionService(String decisionId) {\n        DmnDefinition dmnDefinition = getDmnDefinitionByDecisionId(decisionId);\n        DecisionService decisionService = dmnDefinition.getDecisionServiceById(decisionId);\n\n        if (decisionService == null) {\n            throw new FlowableObjectNotFoundException(\"Could not find decision service with id: \" + decisionId);\n        }\n\n        return decisionService;\n    }\n}\n","sourceCodeStart":64,"sourceCodeEnd":88,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/util/DecisionUtil.java#L64-L88","documentation":"Thrown by DecisionUtil.getDecisionService when a DmnDefinition was resolved for the given decision id, but the definition contains no DecisionService with that id. This is a FlowableObjectNotFoundException indicating the requested decision service does not exist in the deployed DMN definition.","triggerScenarios":"Calling getDecisionService(decisionId) (e.g. via the DMN engine's decision service lookup) with an id that exists as a decision but does not map to a decision service element, or a stale/incorrect decision id.","commonSituations":"Deploying a DMN file where the decision is not referenced inside a decision service; querying with a decision key vs. id confusion; referencing definitions from an older deployment after redeploy.","solutions":["Verify the decisionId matches a decision service id in the deployed DMN XML (inspect the <decisionService> element).","Redeploy a corrected DMN definition that includes the decision service for this decision.","Check you are querying the correct deployment/definition version (latest vs. specific id).","Catch FlowableObjectNotFoundException and fall back to listing available decision services for diagnosis."],"exampleFix":"// before\nDecisionService svc = DecisionUtil.getDecisionService(\"my-decision\");\n// after\nDmnDefinition def = DecisionUtil.getDmnDefinitionByDecisionId(\"my-decision\");\nif (def.getDecisionServiceById(\"my-decision\") == null) {\n    throw new IllegalStateException(\"DMN model must define a decision service containing decision 'my-decision'\");\n}\nDecisionService svc = DecisionUtil.getDecisionService(\"my-decision\");","handlingStrategy":"try-catch","validationCode":"DmnDefinition def = dmnRepositoryService.createDmnDefinitionQuery().dmnDecisionId(decisionId).singleResult();\nif (def == null) { /* abort: no such decision */ }","typeGuard":null,"tryCatchPattern":"try {\n    DecisionService svc = DecisionUtil.getDecisionService(decisionId);\n} catch (FlowableObjectNotFoundException e) {\n    logger.warn(\"Unknown decision service: {}\", decisionId);\n}","preventionTips":["Confirm decision service ids in the DMN XML before lookup","Redeploy complete DMN models including decision services","Use definition keys/queries to verify existence first"],"tags":["dmn","not-found","decision-service"],"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-18T11:17:12.947Z"}