Basisadresse CSW SOAP:
http://[IhrServer]/geonetwork/srv/eng/csw
Capabilities des CSW:
http://[IhrServer]/geonetwork/srv/eng/csw?request=GetCapabilities&service=CSW
Für Installation unter Windows mit Jetty-Servletcontainer:
Geonetwork verbraucht u.U. zu viel Speicher. Das kann in der startup.bat angepasst werden. Dort gibt es eine Zeile 'Try changing the Xmx parameter if having memory errors'. Die nachfolgende Zeile kann verwendet werden um den Speicherverbrauch auf 1GB zu beschränken (Paramter: -Xms1g -Xmx1g -Xss2M).
Hinweis: läuft über http, also kein SSL aber da die Verbindung nur intern zwischen Geonetwork und Elasticsearch besteht, ist das akzeptabel.
Installation als Dienst:
Ausführen:
C:\Program Files\elasticsearch-7.17.8\bin\elasticsearch-service.bat install
(Nachzulesen: https://www.elastic.co/guide/en/elasticsearch/reference/5.1/windows.html#windows)
Der Dienst verbraucht sehr viel Speicher, das sollte limitiert werden. Dazu den Manager starten:
C:\Program Files\elasticsearch-7.17.8\bin\elasticsearch-service.bat manager
Dort im Reiter Java den 'Initial Memory Pool' und 'Maximal Memory Pool' auf 1024 setzen und Dienst neu starten.
In Postgres habe ich:
Geonetwork stoppen
Verbindung konfigurieren:
/WEB-INF/config-node/srv.xml
-> Eintrag zu Postgres freischalten
WEB-INF/config-db/jdbc.properties
Angepasste Zeile:jdbc.username=#{systemEnvironment['GEONETWORK_DB_USERNAME']?:'geonetwork'}
jdbc.password=#{systemEnvironment['GEONETWORK_DB_PASSWORD']?:'geonetwork'}
jdbc.database=#{systemEnvironment['GEONETWORK_DB_NAME']?:'cardo_developers'}
jdbc.host=#{systemEnvironment['GEONETWORK_DB_HOST']?:'localhost'}
jdbc.port=#{systemEnvironment['GEONETWORK_DB_PORT']?:5432}
/WEB-INF/config-spring-geonetwork.xml
<entry key="hibernate.default_schema" value="geonetwork"/>
Geonetwork starten
-> die Datenbank wird beim ersten Start frisch eingerichtet
In der Einstellungsseite des Geonetwork sind noch folgende Parameter wichtig:
Hier sind die Parameter gleich geblieben:
Problem:
Falsch genrierte URL in GetCapabilities
Ausgabe bei CSW-Export:
CODE:ProtocolError SOURCE:HttpError Beim Aufruf der Url http://localhost:8080/geonetwork/srv/eng/csw/csw-publication trat folgender Fehler auf: Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
Ursache:
In der URL wurde eine Ebene zu viel eingefügt (/csw/). Dies passiert, wenn man beim Geonetwork 4.2.2 die Option 'Eintrag zu benutzen für GetCapabilities' genutzt wird, indem eine ID hinterlegt wird, scheint der Geonetwork die URLsim GetCapabilities zu csw-publication falsch zu generieren.
Lösung:
Fehler wurde im GitHub registriert:
https://github.com/geonetwork/core-geonetwork/issues/6744
und soll in Version 4.2.3 behoben sein. Man kann auch in Datei record-to-csw-capabilities.xsl folgende Zeile anpassen:
<xsl:variable name="endPointValuePublication"
select="if (string($endPoint)) then $endPoint else '$PROTOCOL://$HOST$PORT$SERVLET/$NODE_ID/$LOCALE/$END-POINT/csw-publication'" />
ändern zu
<xsl:variable name="endPointValuePublication"
select="if (string($endPoint)) then $endPoint else '$PROTOCOL://$HOST$PORT$SERVLET/$NODE_ID/$LOCALE/csw-publication'" />