Fejlhåndtering

SOAP Faults (fra webservices baseret på DFDG.Foundation og udstillet af DFDG, Jobnet og Vitas)

Alle webservicekald, der i selve kaldet resulterer i en fejl, returneres som en SOAP Fault i henhold til WS-i BP 1.1, hvor det er muligt.

  • I WS-I Basic Profile 1.1 (BP 1.1) skal serviceudbyderen returnere en SOAP Fault, der overholder BP 1.1, i alle de tilfælde hvor service aftageren forventer et SOAP Response.
  • Det er serviceaftageren, der modtager og fortolker fejlbeskrivelsen og evt. videregiver en brugervenlig fejlbesked til slutbrugeren.
  • SOAP Fault beskeder skal som udgangspunkt aldrig præsenteres direkte for slutbrugerne i den aftagende applikation.

En fejl returneres således, at SOAP Body’en kun indeholder en SOAP Fault. Serviceaftageren skal tolke en SOAP Fault som værende en fejl, når der i HTTP Response returneres en HTTP Status kode, der indikerer, at der er sket en fejlDe HTTP Status koder, der returneres i forbindelse med fejl, vil være i kategorierne:

  • 4xx client error
  • 5xx server error

Opbygning af en SOAP Fault:

  • Faultcode 
    Faultcode elementet er tiltænkt at blive brugt i serviceimplementeringen som en algoritmisk mekanisme til at identificere en given fejl.
  • Faultstring 
    Faultstring elementet har til formål at give en menneskelig læsbar forklaring af en fejl og er ikke egnet til algoritmisk behandling. De enkelte Fault strings er angivet i tabellen over fejlkoder nedenfor.
  • Faultactor 
    Faultactor elementet har til formål at beskrive, hvem der forårsagede fejlen. For fejl der opdages på servicesiden, vil dette element have værdien, der er lig med servicens basis URL.
  • Detail
    Detail elementet bruges til applikationsspecifikke fejl informationer. I disse webservices indeholder Detail elementet et ErrorCode og et Message element.
    • ErrorCode elementet indeholder en numerisk fejlkode, der entydigt identificerer fejlen. Se Error
    • Message elementet giver en tekstuel menneskelig læsbar forklaring af fejlen.

Faultcode oversigt

Her følger en oversigt over de tilgængelige Faultcode betegnelser:

NavnBetydning
VersionMismatchDen behandlende part har fundet et invalid namespace for SOAP Envelop elementet.

MustUnderstandEt "child" element i SOAP Header elementet der enten ikke blev forstået eller overholdt af den behandlende part indeholdt en SOAP mustUnderstand attribut med værdien "1" 

Client"Client" indikerer, at meddelelsen var ukorrekt formateret eller ikke indholdsmæssigt lever op til servicekontrakten, således at servicen kunne fortolke forespørgslen korrekt. Dette er generelt en indikation af, at beskeden ikke skal gensendes, før den er modificeret.
Server"Server" indikerer, at meddelelsen ikke kunne behandles af årsager, der ikke direkte er knyttet til indeholdet i selve beskeden, men til selve servicen. Dette indikerer at beskeden evt. kan gensendes senere uden modifikation.

REST / HTTP Errors (fra webservices baseret på STAR.Foundation og udstillet af JobSearch og Taxonomy siloerne)

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 entydig identificerer fejlen. Se Error
  • ErrorMessage, 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

Følgende fejl kan kastes af hver eneste webservicemetode og er derfor ikke beskrevet der.

Validerings- og sikkerhedsfejl kastet af DFDG.Foundation og webservices baseret herpå hos DFDG (alle webservices), Jobnet og Vitas


FejlkodeBeskrivelseAktørFaultCodeFaultString
1010The submitted cpr is unknown to the systemhttp://amportal.bm.dk/pjaktassClientUnknown cpr
1011Internal error - unexpected end of data queryhttp://amportal.bm.dk/pjaktassServerInternal error on server
1012Logon failed for userhttp://amportal.bm.dk/pjaktassClientLogon failed
1013User has insufficient permissions to access this webservicehttp://amportal.bm.dkClientInsufficient permissions
1014The submitted message could not be validatedhttp://amportal.bm.dk/pjaktassClientFailed to validate message
4385The client does not have an unemploymentfund registrationhttp://amportal.bm.dk/pjaktassClientThe client does not have an unemploymentfund registration
4400The supplied CV Customer Number is unknown to the systemhttp://amportal.bm.dk/pjaktassClientCV Customer Number is unknown
4413The authoritytype of the requestheader is invalidhttp://amportal.bm.dk/pjaktassClientThe authoritytype of the requestheader is invalid
4575You are not authorized to execute the operationhttp://amportal.bm.dk/pjaktassClientYou are not authorized
8173OrganisationType is invalid according to the organisationTypeIdentifierCodeListhttp://service.bm.dk/pjaktasswcfClientOrganisationType is invalid according to the organisationTypeIdentifierCodeList
8174UserType is invalid according to the requestUserTypeIdentifierCodeListhttp://service.bm.dk/pjaktasswcfClientUserType is invalid according to the requestUserTypeIdentifierCodeList
8232The Soap request message is missing its required Soap header: ActiveOrganisationHeaderhttp://service.bm.dk/pjaktasswcfClientThe Soap request message is missing its required Soap header: ActiveOrganisationHeader
8233The Soap request message is missing its required Soap header: RequestUserMetadataHeaderhttp://service.bm.dk/pjaktasswcfClientThe Soap request message is missing its required Soap header: RequestUserMetadataHeader
8234Could not deserialize the Soap header: ActiveOrganisationHeaderhttp://service.bm.dk/pjaktasswcfClientCould not deserialize the Soap header: ActiveOrganisationHeader
8235Could not deserialize the Soap header: RequestUserMetadataHeaderhttp://service.bm.dk/pjaktasswcfClientCould not deserialize the Soap header: RequestUserMetadataHeader

Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:

Generelle fejl kastet alene af webservices hos DFDG

FejlkodeBeskrivelseAktørFaultCodeFaultString
1000The message can not be nullhttp://amportal.bm.dk/pjaktassClientMessage can not be null
1001The submitted cpr is either to long or short or contains data not interpretable as a datehttp://amportal.bm.dk/pjaktassClientInvalid cpr
1002Error converting response message from XML stream to objecthttp://amportal.bm.dk/pjaktassServerError converting response message
1003The reported duration is negative, start date is greater than end datehttp://amportal.bm.dk/pjaktassClientDuration is negative
1009System incorrectly configuredhttp://amportal.bm.dk/pjaktassServerConfiguration error
1010The submitted cpr is unknown to the systemhttp://amportal.bm.dk/pjaktassClientUnknown cpr
9131Invalid CodeListItemIdentifierhttp://service.bm.dk/pjaktasswcfClientInvalid CodeListItemIdentifier

Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:

Validerings- og sikkerhedsfejl kastet af STAR.Foundation og webservices baseret herpå, dvs. JobSearch, Taxonomy, Borgerkommunikation, Kontaktforloeb osv. (alle nye forretningsdomæner).

FejlkodeBeskrivelseHTTP Status kode
1010Unknown cpr401 - Unauthorized
1011Internal error on server500 - Internal server error
1012Logon failed401 - Unauthorized
1013User has insufficient permissions to access this webservice401 - Unauthorized
1014The submitted message is not valid400 - Bad request
1100An error has occurred

400 - Bad request

401 - Unauthorized

500 - Internal server error

1101Client certificate missing from request401 - Unauthorized
2001Invalid CodeList name500 - Internal server error
2002Invalid CodeList value400 - Bad request
2003Use of expired CodeList value not allowed

400 - Bad request

4385The client does not have an unemploymentfund registration401 - Unauthorized
4575You are not authorized to execute the operation401 - Unauthorized

Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:

SOAP Fault oversigt - fejlkoder

I det følgende angives alle de definerede SOAP Faults fra webservices. I servicekataloget er det for hver webservicemetode angivet de SOAP Faults, der kan returneres. Kun de mest relevante fejl er noteret. SQL Connection fejl og Message Queue fejl er for eksempel ikke noteret. Se følgende liste for komplet beskrivelse af fejlen:

  • Se fejlkodeliste her: Error


Webserviceaftageren skal sørge for at oversætte nedenstående fejlkoder, således at webservicefejlkoderne ikke returneres direkte til brugerne. Webservicefejlkoderne skal logges i aftagerapplikationen til brug i forbindelse med fejlsøgning.

Faultactor i listen er sat til en af følgende: 

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 (Fogbugz/Manuscript) til STAR (ved Systemforvaltningen), hvis der vurderes at være tale om, at fejl i STARs systemer er årsag til afvisning af indberetningen.