WKPB WMS/WFS cascaden via Geoserver werkt niet naar behoren

Bij het doorlussen van zowel de WKPB WMS als de WFS in Geoserver loop ik tegen problemen aan.

De WMS rendert juist, maar de GetFeatureInfo’s die erop uitgevoerd worden, geven geen informatie terug. Dit gebeurt oa bij de laag ‘pb_kw’.

De WFS rendert helemaal niet. Hij geeft de error:
java.lang.RuntimeException: Parsing failed for FeatureCollection: java.lang.RuntimeException: Unable to set property: boundedBy for eobject: {http://www.opengis.net/wfs/2.0}FeatureCollectionType Parsing failed for FeatureCollection: java.lang.RuntimeException: Unable to set property: boundedBy for eobject: {http://www.opengis.net/wfs/2.0}FeatureCollectionType Unable to set property: boundedBy for eobject: {http://www.opengis.net/wfs/2.0}FeatureCollectionType class java.lang.String cannot be cast to class net.opengis.wfs20.EnvelopePropertyType. Dit gebeurt oa bij de laag ‘wkpb_pb_multipolygon’.

Zie ik iets over het hoofd met het cascaden van de WMS/WFS? Zijn de bronnen überhaupt geconfigureerd om gecascade te worden?

Hoi @capistan

Zijn er dan wel lagen waarbij het wel werkt? (zoja welke?)

Kan je in de logging van geoserver terug zien wat de daadwerkelijk URL’s zijn de worden aangeroepen?

Nee, wij doen niet iets expliciet om cascaded services te ondersteunen. Nu is de wkpb wel een ‘bijzonder’ services (qua hoe we deze hebben moeten configureren) dus dat cascaded services dan nu ook ‘fout’ gaan kan mogelijk daarmee een relatie hebben.
Vandaar dat het voor ons belangrijk is om te weten welke requesten (URL’s) er door Geoserver worden gegenereerd, om zo te kunnen debuggen.

Uit nieuwsgierigheid wat is jullie/jouw usecase voor het “doorlussen”?

Hoi Wouter,

Ik heb het geprobeerd met de ‘wet bodembescherming’ WMS lagen en die geven allemaal hetzelfde resultaat: ze renderen juist maar getFeatureInfo’s werken niet.

De WFS URL die door geoserver wordt aangeroepen is: https://service.pdok.nl/kadaster/wkpb/wfs/v1_0?PROPERTYNAME=geom&FILTER=<fes%3AFilter+xmlns%3Axs%3D"http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema"+xmlns%3Afes%3D"http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0"+xmlns%3Agml%3D"http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2"><fes%3ABBOX><gml%3AEnvelope+srsDimension%3D"2"+srsName%3D"http%3A%2F%2Fwww.opengis.net%2Fgml%2Fsrs%2Fepsg.xml%2328992"><gml%3AlowerCorner>105536.806856+491226.21169<%2Fgml%3AlowerCorner><gml%3AupperCorner>120348.990274+504893.123194<%2Fgml%3AupperCorner><%2Fgml%3AEnvelope><%2Ffes%3ABBOX><%2Ffes%3AFilter>&TYPENAME=wkpb%3Apb_multipolygon&REQUEST=GetFeature&RESULTTYPE=RESULTS&OUTPUTFORMAT=application%2Fgml%2Bxml%3B+version%3D3.2&VERSION=2.0.0&SERVICE=WFS
De bron URL van de Web Feature Service (NG) is Publiekrechtelijke beperkingen - vlakken.

Voor de context: namens de gemeente Zaanstad ben ik bezig bepaalde WFS of WMS lagen te ontsluiten in een viewer die vervlochten is met geoserver en eigen catalogue service. Het doorlussen van WFS/WMS lijkt minder arbeidsintensief dan bijvoorbeeld het inrichten van een ETL obv de atom feed.

Dankjewel voor het uitzoeken en meedenken.

Hoi @capistan (sorry, duurde ff voordat ik tijd had…)

Maar ik krijg het niet gereproduceerd, m.a.w. bij mij werkt de GetFeatureInfo op een cascaded WKPB WFS.

Wat ik heb gedaan is:

  1. de laatste geoserver docker image van kartoza gepakt
  2. workspace + datasource op de WKPB WFS geconfigureerd
  3. WMS + WFS (default) enabled
  4. Lagen in QGIS laden punten/lijnen/vlakken
  5. WMS GetFeatureInfo request uitvoeren

Zou je anders de workspace config kunnen delen/uploaden, m.a.w hoe ziet je Geoserver config eruit (voor deze workspace)?

Het helpt enorm als je voorbeeldrequests en foutmeldingen meestuurt. “werken niet” geeft niet heel veel informatie: Krijg je een foutmelding (zo ja wat is die foutmelding dan), krijg je geen rsultaat, een timeout, wat gebeurt er precies?

Als ik zelf een getFetaureInfo doe op de https://service.pdok.nl/kadaster/wkpb/wms/v1_0, dan zie ik dat er als default geojson terugkomt. Misschien ligt het daar aan? Met een geojson word er meestal geen boundedBy.Envelope mee gegeven, en in je eerste post zegt de foutmelding “Unable to set property: boundedBy”.
Dus dat doet mij vermoeden dat er ergens een spraakverwarring is tussen clients, servers en doorlussers (de een praat in gml en de ander in json). Maar dat is voor ons zo niet te zien. Als je alle requests kunt vastleggen in een log, idealiter ook met het response, dan kun je daar misschien uit afleiden of de hele conversatie goed gaat en in dezelfde taal is.

1 like

Hoi @wouter.visscher en @sbjager,

Dank voor jullie reacties en feedback! Excuses voor mijn late reactie.
We zijn nog eens gaan experimenteren met onze configuratie en kwamen erachter dat het cascaden wel werk als in de bron versie 1.2.0 wordt gebruikt, dus https://service.pdok.nl/kadaster/wkpb/wfs/v1_0?service=WFS&version=1.2.0&request=GetCapabilities. Onze Geoserver instantie/configuratie bokt wel vaker over WFS v2, en hier was dat dus ook het geval.

Nogmaals dank en een fijne dag.

1 like