Hi, You can access data from a remote server only by a proxy script, that resides on your web server.
Search for "same origin policy" http://docs.openlayers.org/library/request.html Arnd -----Ursprüngliche Nachricht----- Von: Helmut Seidel M.A. [mailto:[email protected]] Gesendet: Mittwoch, 12. Juni 2013 14:38 An: [email protected]; [email protected] Betreff: AW: [OpenLayers-Users] getCapabilities Hello again, thank you for your answer. I've tried your code but keep getting the message: NS_ERROR_DOM_BAD_URI: Access to restricted URI denied oRequest._object.send(oRequest._data); XMLHttpRequest.js (Zeile 220) I've tried several Datasources to the same result - I'f I use QGis or Python OSWLib everything works fine? Thanks again Helmut The code I've used is: OpenLayers.ProxyHost = "proxy.cgi?url="; function init() { var request = OpenLayers.Request.GET({ url: "http://geodaten.bayern.de/ogc/ogc_dtk50_oa.cgi?service=WMS&request=GetCapab ilities&version=1.1.1", success: function(response){ var xml = request.responseXML; var format = new OpenLayers.Format.WMSCapabilities({version:"1.1.1"}); var GetCapabilities = format.read(xml); var capability = GetCapabilities.capability; var WMS_Title = GetCapabilities.service.title; var WMS_Abstract = GetCapabilities.service.abstract; var OnlineResource = GetCapabilities.capability.request.getmap.href; var Msg = ""; Msg += WMS_Title + "\n\n"; Msg += WMS_Abstract + "\n\n"; Msg += OnlineResource + "\n\n"; for (var i=0; i < capability.layers.length; i++) { layer = capability.layers[i]; Msg += layer.title + " :: " + layer.name + "\n"; } alert(Msg); } }); } </script> </head> <body onload="init();"> -----Ursprüngliche Nachricht----- Von: [email protected] [mailto:[email protected]] Im Auftrag von Arnd Wippermann Gesendet: Dienstag, 11. Juni 2013 21:11 An: [email protected] Betreff: Re: [OpenLayers-Users] getCapabilities Hi, you have missed one level. var GetCapabilities = format.read(xml); var capability = GetCapabilities.capability; and you need a proxy script to get the response from a remote server. that should work: OpenLayers.ProxyHost = "proxy.cgi?url="; function init() { var request = OpenLayers.Request.GET({ url: "http://geodaten.bayern.de/ogc/ogc_dop200_oa.cgi?service=WMS&request=GetCapa bilities&version=1.1.1", success: function(response){ var xml = request.responseXML; var format = new OpenLayers.Format.WMSCapabilities({version:"1.1.1"}); var GetCapabilities = format.read(xml); var capability = GetCapabilities.capability; var WMS_Title = GetCapabilities.service.title; var WMS_Abstract = GetCapabilities.service.abstract; var OnlineResource = GetCapabilities.capability.request.getmap.href; var Msg = ""; Msg += WMS_Title + "\n\n"; Msg += WMS_Abstract + "\n\n"; Msg += OnlineResource + "\n\n"; for (var i=0; i < capability.layers.length; i++) { layer = capability.layers[i]; Msg += layer.title + " :: " + layer.name + "\n"; } alert(Msg); } }); } init(); Arnd ---------------------------------------------------------------------------- ---- Von: [email protected] [mailto:[email protected]] Im Auftrag von Helmut Seidel M.A. Gesendet: Dienstag, 11. Juni 2013 17:25 An: 'Bart van den Eijnden' Cc: [email protected] Betreff: Re: [OpenLayers-Users] getCapabilities Hello again, I've changed the code to someting like: function init(){ var request = OpenLayers.Request.GET({ url: "http://geodaten.bayern.de/ogc/ogc_dop200_oa.cgi?service=WMS&request=GetCapa bilities&version=1.1.1", success: function(response){ var format = new OpenLayers.Format.WMSCapabilities(); var xml = request.responseXML; var capabilities = format.read(xml); for (var i=0; i < capabilities.layers.length; i++) { layer = capabilities.layers[i]; alert(layer.name); } } }); } But that does not really improve things, so I guess that's not what you've meant- sorry I'm really new to OpenLayers. Thanks again Helmut _______________________________________________ Users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/openlayers-users _______________________________________________ Users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/openlayers-users
