Closed jachym closed 10 years ago
@jachym thanks for the info. The problem is that MetaSearch's underlying CSW support (OWSLib) is using http://geoportal.cuzk.cz/SDIProCSW/service.svc/get as the URL to construct the (HTTP POST) GetRecords
requests.
If I inspect the CSW's Capabilities XML, GetRecords
POST requests (as advertised) are supposed to be invoked against a different URL (http://geoportal.cuzk.cz/SDIProCSW/Service.svc/post). So it is not surprising to see this failing.
Although this is perfectly legal for CSW/OWS standards, OWSLib's implementation of this has historically covered by ~80% use case that the GetCapabilities
URL is the single URL used for all types of CSW requests. This issue was also articulated in https://github.com/geopython/OWSLib/issues/154.
This has since been fixed in https://github.com/kwilcox/OWSLib/commit/a14c4020301ba91fd029c976911cfbfe0aec28c8#diff-3, and is available in OWSLib 0.8.8.
I have bumped OWSLib to 0.8.8 in MetaSearch. @jachym can you test with OWSLib 0.8.8? Please reopen this ticket if this does not fix the issue.
This will be available in the MetaSearch 0.3.0 release.
Hi,
I try to connect and "getrecords" from this service
http://geoportal.cuzk.cz/SDIProCSW/service.svc/get?REQUEST=GetCapabilities&SERVICE=CSW
I get the service connected, but when I try to "search" with no constrains, I get
Connection error: HTTP Error 400: Bad Request
Only thing, which seems strange is (in the capabilities document) that the URLs for POST and GET request types are different.
Any hint, how to test it? Any hint, what else could this be?