Dit probleem treedt sinds enkele dagen op in Heron-gebaseerde viewers bijv de KadViewer: https://kadviewer.map5.nl/ . De Widget (+ in Lagen Beheer) om lagen toe te voegen op basis van een CSW zoekopdracht in NGR werkt niet meer. Bij nadere inspectie blijkt het om een fout te gaan in de OGC Filter syntax. Zie alle details hier:
CSW interworking problem Add Layer widget with Dutch National Geoportal GeoNetwork · Issue #479 · heron-mc/heron-mc · GitHub
De CSW error response meldt dat matchCase in PropertyIsLike
niet mag. Die was voorheen geaccepteerd, maar plots niet meer. Volgens de OGC Filter standaard is deze te gebruiken.
Mijn vermoeden is dat met een recente NGR upgrade (naar Filter 2.0.2) dit probleem (mismatch OGC Filter standaard en XSD) is geïntroduceerd: [GEOT-5343] - JIRA
Ik zal dit issue laten uitzoeken door onze NGR leverancier.
Nog nieuws? zoals ook uit dit issue (: [GEOT-5343] - JIRA ) blijkt zal er m.i. een aanpassing in NGR nodig zijn zodat de Filter XSD overeenkomt met de OGC standaard.
Ha Just, een upgrade van geotools zou inderdaad een deel van het probleem oplossen.
Ik heb je commentaar daarom hier toegevoegd. Return an error when CSW filter is invalid by Delawen · Pull Request #2898 · geonetwork/core-geonetwork · GitHub . We lopen dan echter wel tegen een volgend probleem aan, dat matchCase afdwingen een uitdaging extra geeft.
Ok, bedankt Paul, voorheen werkte m.i. de matchCase uitvoering binnen GeoNetwork/Lucene wel. Niet 100% zeker maar dacht dat bijv “bag” en “BAG” zelfde resultaat gaf.
Update: Sterker nog, het lijkt of case-insensitive matchCase de default is, want ook zonder matchCase = false in Filter geeft zoeken op “bag” of “BAG” zelfde resultaat. Zie ook
opened 07:45AM - 25 Jul 18 UTC
bug
Error from NGR CSW when clicking Add Layer via CSW in e.g.
http://lib.heron-mc.… org/heron/1.0.6/examples/catalognl/index.html
Appears CSW error resp:
https://www.nationaalgeoregister.nl/geonetwork/srv/dut/csw:
```
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" version="2.0.2" resultType="results" outputSchema="http://www.opengis.net/cat/csw/2.0.2" maxRecords="10" xmlns:gmd="http://www.isotc211.org/2005/gmd">
<csw:Query typeNames="gmd:MD_Metadata"><csw:ElementSetName>full</csw:ElementSetName>
<csw:Constraint version="1.1.0">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:PropertyIsLike matchCase="false" wildCard="*" singleChar="." escapeChar="!">
<ogc:PropertyName>csw:AnyText</ogc:PropertyName>
<ogc:Literal>*percelen*</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
```
geeft nu ineens foutmelding:
```
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2.0" xsi:schemaLocation="http://www.opengis.net/ows http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>Raised exception while searching metadata : java.lang.IllegalArgumentException: Error when parsing spatial filter (version: 1.1.0):<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:PropertyIsLike matchCase="false" wildCard="*" singleChar="." escapeChar="!">
<ogc:PropertyName>csw:AnyText</ogc:PropertyName>
<ogc:Literal>*percelen*</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>. Error is: org.apache.jcs.access.exception.InvalidArgumentException: Errors parsing filter:
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 84; cvc-complex-type.3.2.2: Attribute 'matchCase' is not allowed to appear in element 'ogc:PropertyIsLike'.</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
```
Mogelijk is er een upgrade van GeoNetwork geweest of is stricter checking aangezet.
@Just_OSGeo
Er is vandaag een aanpassing op de csw filters uitgerold waardoor jouw request weer zou moeten werken. Zou je dit willen testen?
1 like
Ja nu werkt matchCase weer, bedankt!