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.