Letzte Woche habe ich im RSS-Feed von Geocat.ch die Metadaten zum CSW-Dienst von Geocat.ch entdeckt. Das wollte ich doch gleich mal ausprobieren. Da in ArcGIS defaultmässig kein CSW-Dienst eingebaut ist (schade!), musste ich den CSW-Client von der ESRI-Homepage runterladen und installieren (ArcGIS Server Geoportal Extension 9.3.1 CSW Clients Update). Das ging problemlos (Anleitungen gibt’s hier und hier). Ich konnte anschliessend im vorkonfigurierten US-Portal suchen. Danach habe ich die Geocat-URL eingetragen und das Profil GeoNetwork CSW 2.0.2 APISO ausgewählt. Das ganze funktioniert jedoch nicht. Ich erhalte regelmässig eine Fehlermeldung (The server committed a protocol version. Section=ResponseStatusLine):
Eine Protokollier-Aktion mit Fiddler im HTTP-Verkehr hat folgendes ergeben. Auf den GetCapabilites-Request erhalte ich das GetCapabilities-Dokument zurück. Der Client nimmt sich dann die dort definierte URL für den GetRecords-Befehl (http://www.geocat.ch/geonetwork/srv/en/csw) und schickt den POST-Request dorthin. Als Antwort erhält er jedoch den HTTP-Status 302, d.h. eine Umleitung (moved temporarily) auf eine andere Adresse (http://www.geocat.ch/geonetwork/srv/eng/csw). Der Client holt sich diese neue Adresse und schickt einen Request dorthin, jedoch keinen korrekten (ohne Parameter), so dass es zu einem Fehler kommt. Entweder der Client kann nicht korrekt mit dem Redirect umgehen oder mit den Geocat-URLs stimmt etwas nicht. Das Fiddler-Log habe ich mal hier angehängt:
Hat jemand den CSW-Dienst von Geocat schon erfolgreich testen können?
[Update]: Ich habe noch etwas weitergetestet (u.a. mit handgemachten Requests). Der Dienst hat tadellos funktioniert. Der Fehler liegt somit wohl beim ArcGIS-Client, der nicht korrekt mit dem Redirect umgehen kann.