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 fejl. De 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:
Navn | Betydning |
---|---|
VersionMismatch | Den behandlende part har fundet et invalid namespace for SOAP Envelop elementet. |
MustUnderstand | Et "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
Fejlkode | Beskrivelse | Aktør | FaultCode | FaultString |
---|---|---|---|---|
1010 | The submitted cpr is unknown to the system | http://amportal.bm.dk/pjaktass | Client | Unknown cpr |
1011 | Internal error - unexpected end of data query | http://amportal.bm.dk/pjaktass | Server | Internal error on server |
1012 | Logon failed for user | http://amportal.bm.dk/pjaktass | Client | Logon failed |
1013 | User has insufficient permissions to access this webservice | http://amportal.bm.dk | Client | Insufficient permissions |
1014 | The submitted message could not be validated | http://amportal.bm.dk/pjaktass | Client | Failed to validate message |
4385 | The client does not have an unemploymentfund registration | http://amportal.bm.dk/pjaktass | Client | The client does not have an unemploymentfund registration |
4400 | The supplied CV Customer Number is unknown to the system | http://amportal.bm.dk/pjaktass | Client | CV Customer Number is unknown |
4413 | The authoritytype of the requestheader is invalid | http://amportal.bm.dk/pjaktass | Client | The authoritytype of the requestheader is invalid |
4575 | You are not authorized to execute the operation | http://amportal.bm.dk/pjaktass | Client | You are not authorized |
8173 | OrganisationType is invalid according to the organisationTypeIdentifierCodeList | http://service.bm.dk/pjaktasswcf | Client | OrganisationType is invalid according to the organisationTypeIdentifierCodeList |
8174 | UserType is invalid according to the requestUserTypeIdentifierCodeList | http://service.bm.dk/pjaktasswcf | Client | UserType is invalid according to the requestUserTypeIdentifierCodeList |
8232 | The Soap request message is missing its required Soap header: ActiveOrganisationHeader | http://service.bm.dk/pjaktasswcf | Client | The Soap request message is missing its required Soap header: ActiveOrganisationHeader |
8233 | The Soap request message is missing its required Soap header: RequestUserMetadataHeader | http://service.bm.dk/pjaktasswcf | Client | The Soap request message is missing its required Soap header: RequestUserMetadataHeader |
8234 | Could not deserialize the Soap header: ActiveOrganisationHeader | http://service.bm.dk/pjaktasswcf | Client | Could not deserialize the Soap header: ActiveOrganisationHeader |
8235 | Could not deserialize the Soap header: RequestUserMetadataHeader | http://service.bm.dk/pjaktasswcf | Client | Could not deserialize the Soap header: RequestUserMetadataHeader |
Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:
- https://service.bm.dk/pjaktasswcftservice/2/unemploymentbenefitsaccountservice.svc
- https://service.bm.dk/pjaktasswcftservice/20/personstatusservice.svc
- https://job.jobnet.dk/externalservices/1/cvservice.svc
- https://job.jobnet.dk/externalservices/1/personhistoryservice.svc
- https://services-vitas.bm.dk/1/personalassistanceservice.svc
- https://services-vitas.bm.dk/1/mentorservice.svc
Generelle fejl kastet alene af webservices hos DFDG
Fejlkode | Beskrivelse | Aktør | FaultCode | FaultString |
---|---|---|---|---|
1000 | The message can not be null | http://amportal.bm.dk/pjaktass | Client | Message can not be null |
1001 | The submitted cpr is either to long or short or contains data not interpretable as a date | http://amportal.bm.dk/pjaktass | Client | Invalid cpr |
1002 | Error converting response message from XML stream to object | http://amportal.bm.dk/pjaktass | Server | Error converting response message |
1003 | The reported duration is negative, start date is greater than end date | http://amportal.bm.dk/pjaktass | Client | Duration is negative |
1009 | System incorrectly configured | http://amportal.bm.dk/pjaktass | Server | Configuration error |
1010 | The submitted cpr is unknown to the system | http://amportal.bm.dk/pjaktass | Client | Unknown cpr |
9131 | Invalid CodeListItemIdentifier | http://service.bm.dk/pjaktasswcf | Client | Invalid CodeListItemIdentifier |
Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:
- https://service.bm.dk/pjaktasswcftservice/2/unemploymentbenefitsaccountservice.svc
- https://service.bm.dk/pjaktasswcftservice/20/personstatusservice.svc
Validerings- og sikkerhedsfejl kastet af STAR.Foundation og webservices baseret herpå, dvs. JobSearch, Taxonomy, Borgerkommunikation, Kontaktforloeb osv. (alle nye forretningsdomæner).
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 |
Nedenstående liste viser eksempler på endpoints, hvorfra man kan modtage disse fejlkoder:
- https://jobsearch.jobnet.dk/v1/cv
- [Endpoints til Taxonomy er endnu ikke fastsat]
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:
- http://amportal.bm.dk/
- http://amportal.bm.dk/pjaktass
- http://amportal.bm.dk/tass
- http://amportal.bm.dk/wsrm
- http://service.bm.dk/pjaktasswcf
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.