Uitzonderingen (RegistreerBewijs-02.00)
Informatie:
Voor meer informatie rond de werking van Uitzonderingen in MAGDA 2.0 diensten, zie Werking en overzicht uitzonderingen.
Algemeen
In bepaalde omstandigheden kan het zijn dat de dienst een uitzondering (of meerdere uitzonderingen) teruggeeft.
In het kort kunnen er binnen deze dienst uitzonderingen terugkomen op drie niveaus
Niveau 1: typisch zal dit voorkomen bij een fout tegenover de XSD
Niveau 2: voornamelijk op het niveau van autorisatie (context)
Niveau 3: voornamelijk uitzonderingen door de achterliggende dienst, voorbeeld “geen gegevens gevonden”, “onverwachte fout”, … of door specifieke controle op de vraaggegevens
Een uitzondering bevat volgende elementen:
Wat betreft de Uitzonderingen wordt dezelfde werking gevolgd als de overige MAGDA-webservices.
Elementen
Element | Omschrijving |
---|---|
Identificatie | Verplicht. Maxlengte 10. De uitzonderingscode |
Oorsprong | Minlengte 1, maxlengte 5. Duidt de bron aan van de uitzondering (MAGDA of LED) |
Type | Mogelijke waardes:
|
Tijdstip | Optioneel, indien aanwezig zijn Datum en Tijd beide aanwezig.
|
Diagnose | Verplicht. De tekstuele omschrijving van de opgetreden uitzondering |
Omstandigheid | Optioneel. Wordt veelal gebruikt om de foutcode van de bron door te geven of voor meer informatie te geven met betrekking tot de uitzondering |
Annotatie | Optioneel, meerdere mogelijk. Is opgebouwd uit een naam/waarde-paar. Wordt in de RegistreerBewijs 02.00 niet gebruikt |
ElementReferenties | Intern gebruik. Zal nooit ingevuld zijn |
Overzicht dienst-specifieke uitzonderingen
Antwoord in detail
Al de onderstaande uitzonderingen hebben als oorsprong "MAGDA".
Identificatie | Niveau | Omschrijving |
---|---|---|
10001 | 1 | Fout formaat in de vraag (XML validatie) + reden
|
13001 | 2 | Geen machtiging van de afzender in deze hoedanigheid voor de gevraagde dienst
|
13101 | 2 | Combinatie van vraagelementen niet toegelaten of bepaald element niet aanwezig |
13202 | 3 | Gegevens niet opvraagbaar, geen persoonsdossier geregistreerd
|
99993 | 2 | Fout formaat in de vraag naar businessdienst toe (XML validatie)
|
99994 | 2 | Onverwachte fout bij de bron
|
99995 | 2 | Te veel gelijktijdige bevragingen
|
99996 | 2 | Bron is tijdelijk niet beschikbaar
|
99997 | 2 | Kan antwoord van bron niet interpreteren
|
99998 | 2 | Fout bij XML validatie antwoord
|
99999 | 2 | Onverwachte fout, contacteer VIP
|
LED uitzonderingen
Al de onderstaande uitzonderingen hebben als oorsprong "LED".
Identificatie | Niveau | Omschrijving | Omstandigheid |
---|---|---|---|
10000 | 3 | Attribuut ontbreekt | Een beschrijving waaruit blijkt om welk attribuut het gaat. Bijvoorbeeld: |
10001 | 3 | Geen referte Vraag opgegeven | vraag.referte |
10005 | 3 | Attribuut ongeldig (formaat) | Een beschrijving waaruit blijkt om welk attribuut het gaat. Bijvoorbeeld: |
10010 | 3 | Attribuut niet toegestaan | Een beschrijving waaruit blijkt welk attribuut en niet toegestane waarde |
10025 | 3 | Attribuut combinatie niet toegestaan | Een beschrijving waaruit blijkt welke combinatie niet toegestaan is. |
20000 | 3 | Actie ongeldig: {} | Een beschrijving waaruit blijkt waarom de actie ongeldig was. Bijvoorbeeld bij registreerBewijs: “Bewijs reeds gekend met |
30000 | 3 | Actie conflict | Deze vraag is niet behandeld. Gelieve de vraag op een later tijdstip |
40000 | 3 | Geen gegevens gevonden | Een beschrijving waaruit blijkt waarvoor geen gegevens werden |
90000 | 3 | LED Dienst (tijdelijk) niet beschikbaar | LED Dienst (tijdelijk) niet beschikbaar |
90100 | 1 | Er is een fout opgetreden tegen het XSD schema. Gelieve dit te melden aan het WebServices team ! (SOAPFault)
| Niet van toepassing. |
90110 | 2 | Niet bestaande dienst. | ontext.naam/context.versie |
90150 | 2 | Geen referte Afzender opgegeven | afzender.referte |
90155 | 2 | Ongeldig/onrealistisch Tijdstip | verzoek.tijdstip |
90300 | 3 | Er is een systeemfout opgetreden tijdens de verwerking door de LED bedrijfslogica. Volgende vraag werd niet succesvol verwerkt: {} | Deze vraag is niet behandeld. Gelieve de vraag op een later tijdstip |
De foutcode 10010 wordt gebruikt om aan te geven dat een bepaalde (dimensie)waarde niet toegestaan is.
Bijvoorbeeld: bij registreerBewijs een waarde voor de dimensie”Categorie” die geen deel uitmaakt van de geladen Taxonomie. Of ingeval van een geefBewijs het feit dat het INSZ niet toegelaten is (omdat het bijvoorbeeld verouderd is).
De foutcode 10025 wordt gebruikt voor niet toegestane (Binaire- én N-aire Dimensie) combinaties inclusief een niet toegelaten Afzender- Leverancier combinatie De begeleidende uitzonderingsinformatie bevat de informatie die nodig is om te bepalen over welk soort combinatie het gaat.
M.a.w. de foutboodschap bevat naast de unieke foutcode, de namen van de dimensies (bv. “Categorie” en “Graad”) waarvan de waarden werden gecombineerd in het bewijs en waarvan de waardencombinatie ongeldig werd bevonden.
Voor meer uitleg omtrent de voornoemde terminologie: zie de sectie “Taxonomiebeheer” verder in dit document.
De foutcode 20000 wordt gebruikt om aan te geven dat de gevraagde actie (bv. registreerBewijs, annuleerBewijs) ongeldig is o.b.v. de staat van het doelobject op dat moment.
Zo kan men bijvoorbeeld een Bewijs met een bepaalde unieke leveranciercode-bewijsreferteLeverancier maar 1x registreren.
Probeert men het Bewijs met dezelfde leveranciercode-bewijsreferteLeverancier combinatie nogmaals te registreren, dan zal dat fout gaan, en zal men als antwoord de bovenstaande foutcode krijgen.
De foutcode 30000 wordt gebruikt om aan te geven dat het gevraagde verzoek conflicteert met andere parallele verzoeken of LED verwerking. In dat geval wordt het beste, na x aantal (milli)seconden, opnieuw éénmalig geprobeerd.
De foutcode 90000 wordt gebruikt om aan te geven dat de LED Dienst (tijdelijk) niet beschikbaar is. Dit betekent niet dat er een onverwacht systeemprobleem was langs LED kant. Het betekent dat de LED Dienst bewust (tijdelijk) buiten gebruik werd gesteld, bijvoorbeeld voor onderhoudswerkzaamheden. Ingeval van dergelijke werkzaamheden wordt dit het beste op voorhand naar de betrokken partijen
gecommuniceerd.
LED geeft deze foutcode als de diensten manueel afgezet zijn.
De code 90300 wordt gebruikt om aan te geven dat zich tijdens de verwerking van het verzoek een onverwachtte systeemfout heeft voorgedaan. Bijvoorbeeld, indien tijdens de registratie van een Bewijs onverwacht de databaseconnectie uitvalt, of er zich een geheugenprobleem, of diskspaceprobleem voordoet.
Alle foutcodes veroorzaken een “rollback” in de LED Dienst en vereisen een rollback van de aanroepende partij. Voor alle foutcodes behalve de foutcodes 30000 en 90000 is een “retry” door de “consumer” zinloos.
Voorbeelden
Uitzondering op niveau 1
Uitzondering op niveau 2
Uitzondering op niveau 3
Voor vragen of opmerkingen kan u de MAGDA helpdesk contacteren
De MAGDA Gebruikersomgeving is een officiële website van de Vlaamse overheid
uitgegeven door Digitaal Vlaanderen