Welke http-status hoort bij een foutbericht (bijv. Fo03)?

3 reacties / 0 nieuw
Frank Bink
Welke http-status hoort bij een foutbericht (bijv. Fo03)?

Hoi Frank,

Op zich niet erg dat je me daarvoor benadert maar ik denk dat dit issue een heel mooi issue is om op het StUF 3.01 forum te plaatsen.
Dan kunnen ook anderen kennis nemen van deze discussie.

Kan jij er voor zorgen dat de discussie geplaatst wordt (wat mij betreft met de gehele mailwisseling er in)?

Grt, Robert

Van: Bink, Frank [mailto:Frank.Bink@centric.eu]
Verzonden: woensdag 17 januari 2018 14:54
Aan: Robert Melskens <Robert.Melskens@VNG.NL>
CC: andy.verberne@atos.net
Onderwerp: FW: Vraagje

Hallo Robert,

We hebben elkaar recent ontmoet op het CORV-overleg te Utrecht. En toen heb je kort aangegeven wat je rol vanuit VNG Realisatie is in relatie tot CORV en StUF.

Ik weet niet of ik je langs deze weg kan/mag benaderen(of dit dus de geëigende weg is), maar geef maar aan als het anders moet.

Ik vraag je aandacht voor onderstaande mailwisseling tussen Centric en Atos. Graag zouden we duidelijkheid willen hoe e.e.a. nu op StUF-niveau afgehandeld dient te worden.

Kun jij hierin iets betekenen? Alvast hartelijk dank voor je reactie.

Met vriendelijke groet,
Frank


Van: Verberne, Andy [mailto:andy.verberne@atos.net]
Verzonden: woensdag 17 januari 2018 14:29
Aan: Bink, Frank <Frank.Bink@centric.eu>
Onderwerp: RE: Vraagje

Frank,

In de specificaties van het StUF-ZKN-DMS koppelvlak wordt niet gesproken over een http-satus 500:
https://www.gemmaonline.nl/images/gemmaonline/6/6e/20150707_Specificatie...

Op zich lijkt het mij ook niet logisch om een http-status 500 terug te geven want wanneer de aanroeper  een HTTP 500 error terug krijgt zal deze ook geen inhoud verwachten. Een StUF Fo03 bericht is op HTTP niveau een ‘correct’ respons en dus zal deze gepaard gaan met een HTTP 200 status.

Groet,
Andy

From: Bink, Frank [mailto:Frank.Bink@centric.eu]
Sent: maandag 15 januari 2018 11:22
To: Verberne, Andy <andy.verberne@atos.net>
Subject: FW: Vraagje

Hallo Andy,

Zoals zojuist toegezegd tijdens ons telefonisch contact, hierbij de interne reactie van onze StUF-specialist. Dit n.a.v. een melding van gemeente Groningen (2484864) bij het versturen van een creëerZaak-bericht, waarop een Fo-03-bericht wordt geretourneerd met een http-status 200, terwijl wij uitgaan van en http-status 500.

E.e.a. staat niet 100% hard uitgeschreven, dus is het op basis van ervaring geïnterpreteerd.

Zou jij hier eens naar willen kijken en je mening op geven?

Alvast hartelijk dank.

Met vriendelijke groet,
Frank


Van: Bruin, Roel de
Verzonden: vrijdag 6 januari 2017 12:23
Aan: Bink, Frank <Frank.Bink@centric.eu>
Onderwerp: RE: Vraagje

Hallo Frank,

Ik moest ook even zoeken, dus zo vanzelfsprekend is dat niet.

In de StUF Protocolbindingen (zie http://gemmaonline.nl/images/gemmaonline/1/16/Stuf.bindingen.030200.pdf) staat op blz 7:

Ten behoeve van foutafhandeling kent SOAP het <SOAP:fault> element. De elementen van het <SOAP:fault> element worden gevuld op basis van de elementen binnen het StUF-foutbericht.

Hoewel het er niet expliciet staat, mag je hier volgens mij uit afleiden dat StUF foutberichten bij gebruik van SOAP altijd in een Fault element worden opgenomen.

En in http://www.ws-i.org/Profiles/BasicProfile-1.1.html lees ik (in 3.4.7):
R1126: An INSTANCE MUST return a "500 Internal Server Error" HTTP status code if the response envelope is a Fault.

Al met al betekent dat, dat een Fo03 bericht vergezeld gaat van een HTTP 500 statuscode.

Groeten,

Roel

From: Bink, Frank
Sent: vrijdag 6 januari 2017 11:03
To: Bruin, Roel de <Roel.de.Bruin@centric.eu>
Subject: Vraagje

Hallo Roel,

Ik heb een vraag m.b.t. StUF-foutberichten (Fo). Als wij bijv. een creëerZaak-bericht naar Zaak-Document-service sturen en hierop ontvangen wij een Fo03-bericht terug.

Wat voor http-status hoort hier dan bij. Is dit 200 of 500?

Hierover kan ik zo snel in de StUF-documentatie niets vinden, maar wellicht is het een vanzelfsprekend iets?

Met vriendelijke groet,
Frank

Michiel Verhoef

Ik heb de discussie naar het StUF 03.01 forum verplaatst omdat dit een algemenere vraag is die niet alleen over de Zaak- Documentservices gaat.

Hopelijk komen op deze manier meer antwoorden op deze vraag.

Michiel Verhoef

We hebben hier intern naar gekeken en volgens ons zit het als volgt:

In de StUF bindingen https://www.gemmaonline.nl/images/gemmaonline/3/37/Stuf.bindingen.030204.pdf staat op pagina 7:

SOAP voorziet via het attribute encodingStyle in de mogelijkheid verschillende vormen van serialisatie te ondersteunen. Conform WS-I BP 1.1 [WSIBP] verbiedt StUF het gebruik van het attribute encodingStyle.

Ten behoeve van foutafhandeling kent SOAP het <SOAP:fault> element. De elementen van het <SOAP:fault> element worden gevuld op basis van de elementen binnen het StUF-foutbericht:
• Het element <SOAP:faultcode> wordt gevuld met de namespace qualifier voor de namespace “http://schemas.xmlsoap.org/soap/envelope/ “ gevolgd door een ':' en de waarde van <StUF:plek> binnen het foutbericht, bijvoorbeeld “SOAP-ENV:Client”.
• Het element <SOAP:faultstring> wordt gevuld met de waarde van <StUF:omschrijving> binnen het foutbericht.
• Het element <SOAP:details> wordt gevuld met het StUF-foutbericht.
• Het element <SOAP:faultactor> wordt niet opgenomen in het <SOAP:fault> element.

 

In de WSDL zds0120_ontvangAsynchroon_mutatie_zs-dms.wsdl (waar de service creeerZaak_zakLk01 in staat)  staat dat bij een fault een Fo03 bericht teruggestuurd moet worden:

        <operation name="creeerZaak_ZakLk01">
            <input message="ZDS:creeerZaak_ZakLk01"/>
            <output message="StUF:Bv03"/>
            <fault name="fout" message="StUF:Fo03"/>
        </operation>

In de WS-I BP 1.1 standaard (http://www.ws-i.org/Profiles/BasicProfile-1.1.html) staat in par 3.4.7:

3.4.7 HTTP Server Error Status Codes

HTTP uses the 5xx series of status codes to indicate failure due to a server error.

R1126 An INSTANCE MUST return a "500 Internal Server Error" HTTP status code if the response envelope is a Fault.

 

Dat betekent bij een foutsituatie het volgende van toepassing is:

  • Bij een foutsituatie moet een SOAP Fault en daarmee een HTTP 500 error code terug gestuurd worden.
  • Het element <SOAP:details> wordt gevuld met het StUF-foutbericht, een Fo03 in dit geval.