REST-foutverwerking
Als er een fout optreedt, kunnen diverse HTTP-statuscodes worden geretourneerd. Dit hangt af van de fout en waar de fout tijdens verwerking optrad. VoiceCheckmaakt gebruik van het CXF-framework Apache® voor het verwerken van aanvragen van webservices. Het framework kan fouten zoals 406 – Niet geaccepteerd, of 415 – Geen ondersteuning voor mediatype retourneren, voordat de VoiceCheck-bedrijfslogica is bereikt.
Fouten die uit de VoiceCheck-bedrijfslogica komen, hebben een van deze twee statuscodes:
- 400 – De client heeft een bedrijfsregel of -beperking geschonden (gewoonlijk beschadigde gegevens). Het bericht opnieuw verzenden zonder de inhoud te wijzigen, resulteert in dezelfde fout.
- 500 – Er is een interne serverfout opgetreden tijdens de verwerking van de aanvraag. Het bericht opnieuw verzenden KAN helpen.
Ook bevatten fouten die uit de VoiceCheck-bedrijfslogica komen een faultInfo-XML-element met meer informatie over de fout die optrad. De eigenschappen van het faultInfo-element zijn hieronder vermeld.
SOAP-foutverwerking
SOAP 1.1-fouten worden voor alle fouten geretourneerd. Alle fouten bevatten een foutcode en fouttekenreeks in overeenstemming met de specificatie in SOAP 1.1. Twee van de SOAP 1.1-kernfoutcodes, Client en Server, worden voor de meeste fouten vermeld. VoiceCheckgebruikt deze codes gewoonlijk op de manier die is beschreven in de SOAP 1.1-specificatie.
Er zijn fouten die op kunnen treden tijden verificatie met foutcodes die zijn gespecificeerd in WS-beveiliging (webservicebeveiliging). API's en implementaties van de Java-webservices kunnen andere foutcodes retourneren.
Hoewel we onmogelijk alle voorkomende foutcodes kunnen vermelden, zijn er algemene regels die consistente afhandeling van fouten door webserviceclients mogelijk maken:
- Andere foutcodes dan Server-foutcodes betekenen in het algemeen dat het geen zin heeft om het bericht nogmaals te verzenden. Ze worden verzonden als de client iets verkeerd heeft gedaan, voordat de overdracht de toepassingslogica op de server heeft bereikt, zoals verificatiefouten of berichten met een ongeldige indeling.
- Fouten met de foutcode Server komen uit de serverlogica van de toepassing, en bevatten het SOAP 1.1-foutdetailelement. De indeling wordt gespecificeerd in de WSDL, maar bevat de informatie in het onderdeel hieronder.
Het element Foutinfo
Zowel REST- als SOAP-webservices bevatten dezelfde foutinformatie als een fout uit de serverlogica van de VoiceCheck-toepassing komt.
De REST-implementatie van de hostserver voor het posten van toewijzingsresultaten moet dit foutinfo-element gebruiken om de foutmelding in de VoiceCheck-GUI te gebruiken, anders ziet de gebruiker een algemene melding.
Foutcode | lang | Numerieke code voor de fout. Geldige waarden: 3000 = Interne serverfout (aanvraag kan maar hoeft niet te lukken bij een nieuwe poging) 3001 = Ongeldige aanvraag (automatisch nogmaals proberen wordt afgeraden) |
bericht | tekenreeks | Een voor mensen leesbaar bericht waarin de fout wordt uitgelegd. |