When I hardcode the url to url = QUrl('http://sensors.geonovum.nl/sos/service/pox') (Post XML) it works. Or even with http://sensors.geonovum.nl/sos/service (Given that Content-Type is set correctly to application/xml, see next issue #5).
Probably in the sosparser.py around line 48, this happens:
elif value == "OperationsMetadata":
opParser = XMLParserFactory.getInstance ("SOSOperationMetadata")
for opNode, opName in self.search (node, "Operation@name"):
self.capabilities.operationsMetadata[str(opName)] = opParser().parse(opNode)
Probably it needs to find the entry/URL with Content-Typeapplication/xml or text/xml in the operationsMetadata.
When testing with my 52N SOS at http://sensors.geonovum.nl/sos/service, I found that the plugin was sending requests to the SOAP endpoint, i.e. http://sensors.geonovum.nl/sos/service/soap. The reason I found is that the Operations Metadata from the Capabilities is not correctly parsed. Seems like the last href-value from the list is taken: http://sensors.geonovum.nl/sos/service/soap
In
sos.py
the following is executed:When I hardcode the
url
tourl = QUrl('http://sensors.geonovum.nl/sos/service/pox')
(Post XML) it works. Or even withhttp://sensors.geonovum.nl/sos/service
(Given that Content-Type is set correctly toapplication/xml
, see next issue #5).Probably in the
sosparser.py
around line 48, this happens:Probably it needs to find the entry/URL with
Content-Type
application/xml
ortext/xml
in theoperationsMetadata
.