Fejlhåndtering
REST / HTTP Errors
Alle webservicekald, der i selve kaldet resulterer i en fejl, returneres med en HTTP Status kode, der indikerer, at der er sket en fejl samt med en HTTP Body indeholdende detaljeret information om fejlen (ErrorDetails).
De HTTP Status koder, der returneres i forbindelse med fejl, vil være i kategorierne:
4xx client error
5xx server error
Det er serviceaftageren, der modtager og fortolker den detaljeret information om fejlen og eventuelt videregiver en brugervenlig fejlbesked til slutbrugeren.
Den detaljeret information om fejlen skal som udgangspunkt aldrig præsenteres direkte for slutbrugerne i den aftagende applikation, med mindre andet ikke er muligt.
En fejl returneres således, at HTTP Body'en kun indeholder detaljeret information om en fejl - også kaldet ErrorDetails. Serviceaftageren skal tolke denne detaljeret information som værende en fejl, uanset hvilket HTTP Status kode, der måtte være returneret.
Opbygning af ErrorDetails:
ErrorCode, der indeholder en numerisk fejlkode, der entydigt identificerer fejlen. Den aktuelle liste af fejlkoder og fejltekster hentes pr. forretningsdomæne med
GET /v1/CodeLists/ErrorCodeList. Fejlkoder for det enkelte endpoint fremgår desuden af OpenAPI-specifikationen (Swagger). Se ErrorErrorMessage, der indeholder en tekstuel menneskelig læsbar forklaring af fejlen.
Details, der kan indeholde en mere detajleret beskrivelse af fejlen.
CorrelationId, der indeholder en GUID, som skal benyttes i forbindelse med fejlsøgning.
Generelle fejlkoder
Validerings- og sikkerhedsfejl kastet af webservices.
Fejlkode | Beskrivelse | HTTP Status kode |
|---|---|---|
1010 | Unknown cpr | 401 - Unauthorized |
1011 | Internal error on server | 500 - Internal server error |
1012 | Logon failed | 401 - Unauthorized |
1013 | User has insufficient permissions to access this webservice | 401 - Unauthorized |
1014 | The submitted message is not valid | 400 - Bad request |
1100 | An error has occurred | 400 - Bad request 401 - Unauthorized 500 - Internal server error |
1101 | Client certificate missing from request | 401 - Unauthorized |
2001 | Invalid CodeList name | 500 - Internal server error |
2002 | Invalid CodeList value | 400 - Bad request |
2003 | Use of expired CodeList value not allowed | 400 - Bad request |
4385 | The client does not have an unemploymentfund registration | 401 - Unauthorized |
4575 | You are not authorized to execute the operation | 401 - Unauthorized |
WS-aftager skal reagere på fejlkoder
Jobcentre, kommuner, a-kasser m.fl. (eventuelt i samarbejde med deres respektive leverandører) følger op på indberetninger, der afvises af DFDG.
Jobcentre, kommuner, a-kasser m.fl. (eventuelt i samarbejde med deres respektive leverandører) retter i nødvendigt omfang i egne registreringer eller i egne it-systemer og indberetter derefter data på ny - eller opretter fejlsager til STAR (ved Systemforvaltningen), hvis der vurderes at være tale om, at fejl i STARs systemer er årsag til afvisning af indberetningen.
WS-aftagers brug af fejlkoder
Det skal om aftagers brug af DFDG’s fejlkoder bemærkes følgende:
DFDG fejlkoder og fejltekster er ikke umiddelbart designet til at vise direkte for slutbrugere i fagapplikationer eller selvbetjeningsløsninger - uanset sprog om fejlteksterne er angivet på dansk eller engelsk.
Fejlbeskrivelserne er primært til vores fælles udviklingsbrug og kan derfor formuleringsmæssigt være korte, indforståede og med meget tekniske indhold. Og nogle af hensyn til de max 100 tegn være meget forkortet med uautoriserede forkortelser
STAR/DFDG kender ikke i hvilken kontekst de kan bliver vist i aftagers systemer og det er derfor ikke muligt for STAR/DFDG at give en fejlbeskrivelse, der passer i aftagers præcise kontekst ift. sagsbehandlere eller borgere, der i øvrigt også kan være ganske forskelligartede for mange forskellige leverandørers systemer og typer af slutbrugere
Hvis en aftager vælger at bruger fejlkodeteksterne direkte i brugergrænsefladen skal man derfor være opmærksom på at udover de kan være korte, indforståede og med meget tekniske også kan
være upræcise, da de i nogle situationer dækker over flere forhold
være lidt forældede og ikke tilpasser med de nye formuleringer, hvis f.eks. et begreb har ændre navn eller forretningen er tilpasses
være formuleret uhensigtsmæssigt, da de kan være beskrevet fra et meget teknisk perspektiv
indeholde f.eks. stavefejl, uautoriserede forkortelser og tekniske termer