#1 Tue 17 August 2010 17:21
- InfoLI
- Juste Inscrit !
- Date d'inscription: 17 Aug 2010
- Messages: 6
Openlayers Geosserver distant et Accès refusé (Proxy ?)
Bonjour,
situons le contexte :
- je développe une carto web sous OpenLayers sur un site situé sur un serveur A
- je récupère les couches map du service WMS de Géoserver, lui meme situé sur un serveur B
l'affichage des cartes se passe bien.
je souhaite maintenant afficher les données attributaires dans un popup.
l'affichage du popup se passe bien, mais l'accès aux données, grâce à la fonction WMSGetFeatureInfo,
affiche une erreur : "accès refusé".
en faisant le tour de la question, il semblerait qu'il faille installer un proxy (?) coté serveur B,
et utiliser la ligne suivante depuis le serveur A pour pouvoir utiliser la fonction WMSGetFeatureInfo sans encombre :
>> OpenLayers.ProxyHost = "proxy.cgi?url=";
Question 1 :
Confirmez-vous que ce soit la bonne voie ?
Question 2 :
si oui, quelleS manipulationS dois-je faire ? (coté serveur B, et coté serveur A)
J'ai déjà vu pas mal de techniques, mais aucune ne fonctionne..
Je bloque..
Je vous remercie donc grandement d'avance pour vos lumières..
dans l'attente de votre réponse, à bientôt !
Hors ligne
#2 Wed 01 September 2010 11:21
- InfoLI
- Juste Inscrit !
- Date d'inscription: 17 Aug 2010
- Messages: 6
Re: Openlayers Geosserver distant et Accès refusé (Proxy ?)
Bonjour à tous,
je cloture cette question, j'ai fini par trouver.
Hors ligne
#3 Wed 01 September 2010 11:40
Re: Openlayers Geosserver distant et Accès refusé (Proxy ?)
Bonjour,
Un petit mail pour expliciter la solution serait la bienvenu
Merci,
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Wed 01 September 2010 16:37
- InfoLI
- Juste Inscrit !
- Date d'inscription: 17 Aug 2010
- Messages: 6
Re: Openlayers Geosserver distant et Accès refusé (Proxy ?)
Autant pour moi, comme je n'avais pas eu de réponses, je pensais que ça n'intéressait personne
Alors, je reprends la question :
en faisant le tour de la question, il semblerait qu'il faille installer un proxy (?) coté serveur B,
et utiliser la ligne suivante depuis le serveur A pour pouvoir utiliser la fonction WMSGetFeatureInfo sans encombre :
>> OpenLayers.ProxyHost = "proxy.cgi?url=";
c'était donc bien la voie à suivre, mais tout se fait coté serveur A, il n'y a rien à toucher coté serveur B.
Donc, il faut utiliser le fichier proxy.cgi fourni par openlayers, et le mettre dans un dossier sur le serveur A,
en ajoutant dedans le domaine du serveur B.
et voici le code pour accéder aux données :
Code:
OpenLayers.ProxyHost="[le chemin complet]/cgi-bin/proxy.cgi?url="; layerPICTOS = new OpenLayers.Layer.WMS( "pictos_point - Tiled", "http://[le domaine]:8080/geoserver/wms", { height: '402', width: '512', layers: '[le nom de la couche geoserver]', styles: '', srs: 'EPSG:27562', format: 'image/png', tiled: 'true', tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom }, { buffer: 1, attribution : true }); map.addLayers([layerPICTOS]); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.events.register('click', map, function (e) { var Lurl = layerPICTOS.getFullRequestString({ REQUEST: "GetFeatureInfo", EXCEPTIONS: "application/vnd.ogc.se_xml", BBOX: layerPICTOS.map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: 'text/html', QUERY_LAYERS: '[nom de la couche geoserver]', layers:'[nom de la couche geoserver]', WIDTH: map.size.w, HEIGHT: map.size.h, extractAttributes:'true' }); OpenLayers.loadURL(Lurl, '', this, setHTML); OpenLayers.Event.stop(e); } function setHTML(response){ var laPageResultat = response.responseText; // récupère la globalité de la réponse du GET [...ici le code de traitement de vos infos, affichage en popup, ou autre...] }
Hors ligne
#5 Wed 01 September 2010 16:47
Re: Openlayers Geosserver distant et Accès refusé (Proxy ?)
Merci
La recherche sur Google ou le forum permet de tomber dessus et de trouver une solution !
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne