Foute controlecode in de tekst van een melding

Bij het opvragen van een serie meldingen in een gebied via de API krijg ik een Exception. Na wat speurwerk blijkt het te zitten in de volgende melding:

In de tekst wordt een controlecode toegepast die niet in de XML hoort, namelijk 0x0C, ook wel \f als leesbare codering. Ik weet niet of JSON er een probleem mee heeft, ik gebruik XML en die kan de tekst niet parsen. De XML tekst die ik terugkrijg is:

 <wfs:member>
      <bgtterugmeldingen:bgtterugmeldingen gml:id=\"bgtterugmeldingen.26202\">
        <gml:boundedBy>
        <gml:Envelope srsName=\"urn:ogc:def:crs:EPSG::28992\">
        <gml:lowerCorner>124902.700000 484428.356563</gml:lowerCorner>
        <gml:upperCorner>124902.700000 484428.356563</gml:upperCorner>
        </gml:Envelope>
        </gml:boundedBy>
        <bgtterugmeldingen:geom>
          <gml:Point gml:id=\"bgtterugmeldingen.26202.1\" srsName=\"urn:ogc:def:crs:EPSG::28992\">
            <gml:pos>124902.700000 484428.356563</gml:pos>
          </gml:Point>
        </bgtterugmeldingen:geom>
        <bgtterugmeldingen:meldingsnummer_volledig>BGT00050694</bgtterugmeldingen:meldingsnummer_volledig>
        <bgtterugmeldingen:tijdstip_registratie>2019-11-14T09:05:17.802+01:00</bgtterugmeldingen:tijdstip_registratie>
        <bgtterugmeldingen:status>Afgerond</bgtterugmeldingen:status>
        <bgtterugmeldingen:omschrijving>Er staat Open Verharding, maar dit is gesloten verharding (asfalt</bgtterugmeldingen:omschrijving>
        <bgtterugmeldingen:bronhoudercode>G0363</bgtterugmeldingen:bronhoudercode>
        <bgtterugmeldingen:bronhoudernaam>Gemeente Amsterdam</bgtterugmeldingen:bronhoudernaam>
        <bgtterugmeldingen:tijdstip_statuswijziging>2020-02-04T08:45:57.318+01:00</bgtterugmeldingen:tijdstip_statuswijziging>
        <bgtterugmeldingen:toelichting>Dank voor de melding, in productie is het fysiek voorkomen aangepast.\f
Uitlevering naar LV vind dit weekend plaats, in omgeving van Amsterdam zal het vermoedelijk over 2 weken zichtbaar zijn</bgtterugmeldingen:toelichting>
      </bgtterugmeldingen:bgtterugmeldingen>
    </wfs:member>

Is dit misschien te voorkomen bij het genereren van de XML of moet ik een workaround bedenken om de tekst eerst te scannen op illegale karakters (en welke?) zodat ik de XML wel kan gebruiken? Imo is het beter dat een correcte XML string wordt geleverd :slight_smile:

Excuses voor de late reactie. De API ondersteunt als output formaat alleen (Geo)JSON en JSON heeft hier inderdaad geen problemen mee. Helaas komt het probleem niet alleen in de API voor, maar ook in de WMS en WFS van de BGT terugmeldingen. Deze ondersteunen wel XML als outputformaat.

We hebben ontdekt waarom deze ‘\f’ voorkomt in meerdere meldingen en dit is nu opgelost in het BGT meldingenbeheersysteem (MMS) waardoor er minder snel nieuwe gevallen zullen voorkomen. Helaas zijn er dus nog wel oude meldingen die dit bevatten. We gaan kijken hoe we dit het beste kunnen herstellen.

Workaround voor nu is dus om BGT terugmeldingen in een ander formaat op te vragen, zoals bijvoorbeeld JSON ;-).

Ok bedankt! Ik heb nu een Workaround door de XML te valideren op ongeldige karakters en dat is voor relatief kleine bevragingen als de VBK nog wel te doen.
Zomaar even een ander formaat introduceren is niet heel eenvoudig. Dus voorlopig geen JSON :slight_smile:

Fijn om te horen. Wanneer we de meldingen hersteld hebben, zal ik weer van mij laten horen!

@Anton Alle meldingen zijn hersteld! De meldingen zijn nu ook in XML weer raadpleegbaar. Workarounds zijn dus niet meer nodig :slight_smile:!

1 like

Goed om te horen! :+1:

1 like