{"record":{"id":"a8c77cb6a36d78ab","repo":"pinpoint-apm/pinpoint","slug":"application-servicetype-not-found-code-servicet","errorCode":null,"errorMessage":"application serviceType not found. code:${serviceTypeCode}, name:${serviceTypeName}","messagePattern":"application serviceType not found\\. code:(.+?), name:(.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":500,"severity":"error","filePath":"web/src/main/java/com/navercorp/pinpoint/web/authorization/controller/HeatMapController.java","lineNumber":140,"sourceCode":"    }\n\n    public record PagingStatus(boolean complete, long resultFrom) {\n    }\n\n    private ServiceType findServiceType(Integer serviceTypeCode, String serviceTypeName) {\n        if (serviceTypeCode != null) {\n            ServiceType serviceTypeFromCode = serviceTypeRegistryService.findServiceType(serviceTypeCode);\n            if (serviceTypeFromCode != null && !ServiceType.UNDEFINED.equals(serviceTypeFromCode)) {\n                return serviceTypeFromCode;\n            }\n        }\n        if (serviceTypeName != null) {\n            ServiceType serviceTypeFromName = serviceTypeRegistryService.findServiceTypeByName(serviceTypeName);\n            if (serviceTypeFromName != null && !ServiceType.UNDEFINED.equals(serviceTypeFromName)) {\n                return serviceTypeFromName;\n            }\n        }\n        throw new IllegalArgumentException(\"application serviceType not found. code:\" + serviceTypeCode + \", name:\" + serviceTypeName);\n    }\n}\n","sourceCodeStart":122,"sourceCodeEnd":143,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/web/src/main/java/com/navercorp/pinpoint/web/authorization/controller/HeatMapController.java#L122-L143","documentation":"HeatMapController.findServiceType resolves the application's ServiceType from serviceTypeCode then serviceTypeName; if neither resolves to a registered, non-UNDEFINED type it throws IllegalArgumentException with this message. The heatmap API cannot proceed without knowing the app's service type.","triggerScenarios":"Calling the heatmap endpoint with an unknown/invalid serviceTypeCode and/or a serviceTypeName not present in serviceTypeRegistryService (or resolving to UNDEFINED).","commonSituations":"Typo'd serviceTypeName (e.g. 'tomcat ' with whitespace or wrong case); custom service-type plugins not loaded on the web server so the code is unregistered; stale UI caching an old type code.","solutions":["Pass the correct serviceTypeName exactly as registered (e.g. TOMCAT) or the matching serviceTypeCode","Check that custom service-type definitions are deployed to the Pinpoint web server (service-types.yml / plugin jars)","Verify the application's actual service type in the Pinpoint UI server list"],"exampleFix":"// before\nGET /heatmap?applicationName=myApp&serviceTypeName=Tomcat\n// after\nGET /heatmap?applicationName=myApp&serviceTypeName=TOMCAT","handlingStrategy":"validation","validationCode":"if (!serviceTypeCode && !serviceTypeName) throw new Error('heatmap requires serviceTypeCode or serviceTypeName');","typeGuard":null,"tryCatchPattern":"try { ... } catch (IllegalArgumentException e) { if (e.getMessage().contains(\"serviceType not found\")) { /* correct the serviceTypeName/code */ } else { throw e; } }","preventionTips":["Use exact, registered service type names (case-sensitive)","Deploy custom service-types.yml/plugins to the web server","Confirm the app's type in the Pinpoint UI"],"tags":["service-type","not-found","rest-api","pinpoint"],"backgroundTag":"invalid-enum-value","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}