That is possible as well. See this article on the supported syntax:
https://github.com/Esri/geoportal-server/wiki/REST-API-Syntax
other paths are to use the sitemap which follows the sitemap protocol (http://www.sitemaps.org/protocol.html):
http://gptogc.esri.com/geoportal/sitemap?f=sitemap
or use the hip new DCAT format as used in many open data contexts (available since Geoportal Server 1.2.4):
http://gptogc.esri.com/geoportal/dcat.json
-----Original Message-----
From: Simon.Pigot@anonymised.com [mailto:Simon.Pigot@anonymised.com]
Sent: Friday, October 24, 2014 12:18 PM
To: Marten Hogeweg; K.Roberts@anonymised.com; frippe12573@anonymised.com
Cc: geonetwork-users@lists.sourceforge.net
Subject: RE: [GeoNetwork-users] Harvest from ESRI portal .. [SEC=UNCLASSIFIED]
Hi Eugenio,
Though I don't like to suggest a non-OGC standards path, how about using the GeoPortal REST harvester in GeoNetwork?
I can set up a harvester of this type (it's "GeoPortal 9.3.x via REST interface") in GeoNetwork 2.10.x, with base URL of the geoportal service set to http://gatt.lmi.is/geoportal122 and search term set to EGIP and retrieve the 3 EGIP records without issues.
Cheers,
Simon
________________________________________
From: Marten Hogeweg [mhogeweg@anonymised.com]
Sent: Friday, 24 October 2014 8:26 PM
To: Kate Roberts; 'Eugenio Trumpy'
Cc: Lista Geonetwork
Subject: Re: [GeoNetwork-users] Harvest from ESRI portal .. [SEC=UNCLASSIFIED]
Couple things:
The error indicates an issue with apiso:Abstract (Error on line 2: The prefix "apiso" for element "apiso:Abstract" is not bound.)
Make sure the request defines the apiso namespace as 'http://www.opengis.net/cat/csw/apiso/1.0’
the reference to the 9.3.1 online help does not apply anymore (it's about 6 years old) since we made Geoportal Server open source 4 years ago and moved to GitHub. Documentation can be found in the wiki:
https://github.com/Esri/geoportal-server/wiki
Regarding get/post: please see this article on the Geoportal Server github site:
https://github.com/Esri/geoportal-server/wiki/Catalog-Service#GetRecords
that page explains Geoportal Server does support HTTP GET for GetRecords using this KVP example:
http://gptogc.esri.com/geoportal/csw?request=getRecords&service=CSW&startPosition=1&maxRecords=10&resultType=results&elementSetName=full&outputFormat=application/xml&outputschema=http://www.isotc211.org/2005/gmd&constraintLanguage=Filter&Constraint=<ogc:Filter><ogc:Overlaps><ogc:PropertyName>ows:BoundingBox</ogc:PropertyName><gml:Envelope><gml:lowerCorner>-90%20-180</gml:lowerCorner><gml:upperCorner>90%2090</gml:upperCorner></gml:Envelope></ogc:Overlaps></ogc:Filter>&namespace=xmlns(gml=http://www.opengis.net/gml),xmlns(ogc=http://www.opengis.net/ogc)
We have not implemented CQL as we have not had a user need for it. I don't know CQL enough to compare it to Filter and perhaps someone has a mapping/translation to share between the two.
Hope this helps,
Marten
-----Original Message-----
From: Kate Roberts [mailto:K.Roberts@anonymised.com]
Sent: Friday, October 24, 2014 10:29 AM
To: 'Eugenio Trumpy'; Marten Hogeweg
Cc: Lista Geonetwork
Subject: RE: [GeoNetwork-users] Harvest from ESRI portal .. [SEC=UNCLASSIFIED]
Hi Eugenio,
Could it be the way that geoportal CSW is set up just for FILTER (rather than also for CQL_TEXT)?
A query using ConstraintLanguage=CQL_TEXT [below] retrieves an error message saying that CQL_TEXT isnt supported (and only "Filter" is supported);
http://gatt.lmi.is/geoportal122/csw?request=GetRecords&service=CSW&version=2.0.2&outputSchema=http%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&namespace=xmlns(csw%3Dhttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2)%2Cxmlns(gmd%3Dhttp%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd)&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&typeNames=csw%3ARecord&resultType=results&constraint=AnyText+=+'egim'
and this is confirmed by the GetCapabilities response.
And yes, this returns a statement of 105 records:
http://gatt.lmi.is/geoportal122/csw?request=GetRecords&service=CSW&acceptVersions=2.0.2
But this retrieved an error:
gatt.lmi.is/geoportal122/csw?request=GetRecords&service=CSW&version=2.0.2&outputSchema=http%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd&namespace=xmlns(csw%3Dhttp%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2)%2Cxmlns(gmd%3Dhttp%3A%2F%2Fwww.isotc211.org%2F2005%2Fgmd)&constraintLanguage=filter&constraint_language_version=1.1.0&typeNames=gmd%3AMD_Metadata&resultType=results&Constraint=<Filter><PropertyIsEqualTo><PropertyName>Title</PropertyName><Literal>egip</Literal></PropertyIsEqualTo></Filter>
I'm not very familiar with the OGC filterEncoding standard (nor CSW), but am wondering whether a CSW search using constraintLanguage=Filter (looking for anyText and 'egip") is incongruous with getRecords, as a "get" (rather than as a post) ??
This ESRI webpg seems to suggest it:
http://webhelp.esri.com/geoportal_extension/9.3.1/index.htm#geoportal_csw_cmpnts.htm
Kate
-----Original Message-----
From: Eugenio Trumpy [mailto:frippe12573@anonymised.com]
Sent: Friday, 24 October 2014 6:34 PM
To: Marten Hogeweg; Lista Geonetwork
Subject: Re: [GeoNetwork-users] Harvest from ESRI portal
Dear Marten,
this morning I started again with a fresh harvest connection toward esri geoportal server,
I set the CSW url as follow:
http://gatt.lmi.is/geoportal122/csw?request=GetCapabilities&SERVICE=CSW&acceptVERSION=2.0.2
and in the same time I run a tail on geonetwork log file, here you can find the error:
http://paste.ubuntu.com/8651709/
From the log lines the problem seems to be related to a specific prefix in the name of the possible field that I can use as search criteria.
This error appear when I was trying to save the harvest settings with the AnyText = EGIP
As I said yesterday, if I remove the search criteria I got 103 records.
After that If I put again the keyword EGIP I got these lines in the log file:
2014-10-24 09:23:49,128 INFO [geonetwork.harvester] - Searching on : OS Iceland (1..2)
2014-10-24 09:23:49,316 WARN [geonetwork.harvester] - Raised exception when searching : org.fao.geonet.csw.common.exceptions.InvalidParameterValueEx: code=InvalidParameterValue, locator=PropertyName, message= Invalid parameter value: locator=PropertyName
2014-10-24 09:23:49,317 DEBUG [geonetwork.harvester] - Raised exception when searching:
Invalid parameter value: locator=PropertyName
2014-10-24 09:23:49,317 DEBUG [geonetwork.harvester] - Changing to CSW harvester to use POST
2014-10-24 09:23:49,318 INFO [geonetwork.harvester] - Searching on : OS Iceland (1..21)
2014-10-24 09:23:49,424 WARN [geonetwork.harvester] - Raised exception when searching : org.fao.geonet.csw.common.exceptions.InvalidParameterValueEx: code=InvalidParameterValue, locator=PropertyName, message= Invalid parameter value: locator=PropertyName
2014-10-24 09:23:49,424 WARN [geonetwork.harvester] - Raised exception while harvesting from : OS Iceland (CswHarvester)
2014-10-24 09:23:49,425 WARN [geonetwork.harvester] - (C) Class : OperationAbortedEx
2014-10-24 09:23:49,425 WARN [geonetwork.harvester] - (C) Message : Raised exception when searching:
Invalid parameter value: locator=PropertyName
and these line in the geonetwork harvest history:
Error: Raised exception when searching:
Invalid parameter value: locator=PropertyName
Class: OperationAbortedEx
Stack:
at: org.fao.geonet.kernel.harvest.harvester.csw.Harvester file: Harvester.java line: 508 method: doSearch
at: org.fao.geonet.kernel.harvest.harvester.csw.Harvester file: Harvester.java line: 231 method: search
at: org.fao.geonet.kernel.harvest.harvester.csw.Harvester file: Harvester.java line: 103 method: harvest
at: org.fao.geonet.kernel.harvest.harvester.csw.CswHarvester file: CswHarvester.java line: 244 method: doHarvest
at: org.fao.geonet.kernel.harvest.harvester.AbstractHarvester$HarvestWithIndexProcessor file: AbstractHarvester.java line: 400 method: process
at: org.fao.geonet.kernel.harvest.harvester.AbstractHarvester file: AbstractHarvester.java line: 470 method: harvest
at: org.fao.geonet.kernel.harvest.harvester.HarvesterJob file: HarvesterJob.java line: 29 method: execute
at: org.quartz.core.JobRunShell file: JobRunShell.java line: 213 method: run
at: org.quartz.simpl.SimpleThreadPool$WorkerThread file: SimpleThreadPool.java line: 557 method: run Here the catilina.out log, which is quite similar with the geonetwork.log:
http://paste.ubuntu.com/8651845/
I wonder if my problem is not related to the csw URL, otherwise I don't know, where could be the problem.
Kind regards
E.
------------------------------------------------------------------------------
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork