WFS Configuratie issue: Paging

Het is nu vaker voorgekomen dat er een configuratie-issue is bij bepaalde PDOK WFS Services.

Op dit moment loopt er een call bij Kadaster om het voor de BAG WFS.

Het probleem is dat voor de WFS (in dit geval BAG) wordt aangegeven dat Paging wordt ondersteund. Zie de getcapaiblities response.

https://geodata.nationaalgeoregister.nl/bag/wfs?request=getcapabilities

<ows:Constraint name="ImplementsResultPaging">
<ows:NoValues/>
<ows:DefaultValue>TRUE</ows:DefaultValue>
</ows:Constraint>

Het probleem is echter dat om paging te laten werken ook een primary key moet worden opgegeven, anders kan de WFS server niet bepalen welke features worden teruggegeven. Het resultaat is, dat wanneer je bijvoorbeeld de eerste 2000 features op wilt halen, je een java exceptie krijgt in de response.

Voorbeeld request (doe een copy paste; want het forum gaat niet goed om met de link):
https://geodata.nationaalgeoregister.nl/bag/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=bag:pand&STARTINDEX=0&COUNT=1000&FILTER=<Filter%20xmlns%3D"http:%2F%2Fwww.opengis.net%2Ffes%2F2.0"%20xmlns:gml%3D"http:%2F%2Fwww.opengis.net%2Fgml%2F3.2"><BBOX><ValueReference>geometrie<%2FValueReference><gml:Envelope><gml:lowerCorner>265465.2416221294600000%20553287.3448789145300000<%2Fgml:lowerCorner><gml:upperCorner>266255.9514342380000000%20553537.3448789145300000<%2Fgml:upperCorner><%2Fgml:Envelope><%2FBBOX><%2FFilter>

Response bevat dan de volgende melding:

 <ows:Exception exceptionCode="NoApplicableCode">
     <ows:ExceptionText>java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException
 java.lang.RuntimeException: java.io.IOException
 java.io.IOExceptionCannot do natural order without a primary key, please add it or specify a manual sort over existing attributes</ows:ExceptionText>
   </ows:Exception>
 </ows:ExceptionReport>

Dit is wellicht niet voor iedere WFS cliënt een probleem omdat niet elke gebruik maakt van paging. Maar een gebruiker heeft daar geen invloed op.

De reden dat ik deze forum post aanmaak, is dat dit nu meerdere malen voor is gekomen. Zowel bij nieuwe WFS services die door PDOK worden ontsloten, als voor bestaande WFS services (die eerder wel werkte maar waar blijkbaar de configuratie is aangepast). Wellicht krijgt dit probleem zo meer aandacht en kan er rekening mee worden gehouden bij nieuwe WFS services en aanpassingen aan bestaande.

Overigens is het probleem voor de BAG WFS nu net opgelost zie ik. Dit ter informatie.

Inmiddels werkt het helaas weer niet.

Bij PDOK zijn we bezig om pagineren voor alle datasets weer werkend te krijgen. Voor de BAG is dit inmiddels gedaan en daar werkt paginering inmiddels weer. We moeten dit ook nog doen voor een aantal andere datasets doen.

1 like

@mark.sanders Wat is de status hiervan? Het uitlezen van CBS data is op dit moment hierdoor niet mogelijk:

Werkt wel:
https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wfs?service=WFS&request=GetFeature&typeName=cbs_provincie_2017_labelpoint

Werkt niet:
https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wfs?service=WFS&request=GetFeature&typeName=cbs_provincie_2017_labelpoint&startIndex=0&count=50

java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException java.lang.RuntimeException: java.io.IOException java.io.IOExceptionCannot do natural order without a primary key, please add it or specify a manual sort over existing attributes

@pkruithof ik heb een collega gevraagd om uit te zoeken wat de status is, kom er z.s.m. op terug :+1:

@pkruithof we hebben even gekeken door een recente fix op de CBS gebiedsindelingen werkt dit niet meer voor de CBS gebiedsindelingen. Niet zo handig! We gaan dit herstellen. Omdat het nogal wat features zijn willen we dit niet handmatig doen dus daar moeten we wat voor maken. Zodra dit hersteld is laat ik het weten!

Heel fijn, bedankt voor de terugkoppeling!

@pkruithof de CBS gebiedsindeling paginering is weer werkend voor alle jaartallen (fix is doorgevoerd) :+1:

Bedankt Jeroen! Ik kan bevestigen dat alles weer werkt nu :slight_smile:

@pkruithof fijn om te horen :ok_hand:

Ha Jeroen, helaas is het weer stuk, dit keer voor de dataset cbs_provincie_2018_gegeneraliseerd:

https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wfs?service=WFS&request=GetFeature&typeName=cbs_provincie_2018_gegeneraliseerd&startIndex=0&count=50

Zelfde foutmelding als eerder. Zouden jullie eens kunnen kijken?

@pkruithof, heb het probleem opgelost. Zou weer naar behoren moeten werken, excuus voor het ongemak.

1 like

Bevestigd, bedankt!

Voor in het vervolg, is dit de juiste plek om deze problemen aan te geven, of zou dat elders moeten?

@Jeroen_PDOK, nu werkt het weer niet voor de bestuurlijke grenzen WFS omdat deze is geüpdatet naar 2019.

Kunnen jullie in jullie proces opnemen dat dit wordt gechecked voordat het wordt uitgerold? Het begint wat vervelend te worden dat het voor elke nieuwe dataset of aanpassing aan bestaande datasets omvalt.

@rboeters, helemaal mee eens en we zijn er mee bezig om dit te verbeteren. Dank voor je melding!
Het probleem met bestuurlijke grenzen is inmiddels opgelost.

1 like

Bedankt @daneng voor je snelle reactie. Excuses voor het ongemak @rboeters!.We gaan kijken hoe we dit proces kunnen verbeteren!

In ieder geval bedankt voor de snelle oplossing voor nu. :slight_smile:

1 like