#1 Thu 18 June 2009 13:41
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
mapserver mapinfo openlayers affichage couche WFS proxy
bonjour
je m'aide du tutoriel suivant:
http://openlayers.org/dev/examples/wfs.html
où jessaie d'integrer le layer wfs provenant de l'exterieur dans mon site :
Code:
layer = new OpenLayers.Layer.WFS( "Owl Survey", "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?", {typename: "OWLS", maxfeatures: 10}, { featureClass: OpenLayers.Feature.WFS});
et openlayers ne veut pas y acceder vu qu'il y a une sécurité m'interdisant de charger la couche WFS.
Pour y remedier il parait qu'il faut bidouiller un proxy ou quelque chose comme ca mais je ne sais pas du tout comment faire !
pourriez-vous maider ?
ps: je ne connais pas grand chose en configuration d'Apache
merci d'avance
Dernière modification par icadedt (Thu 18 June 2009 13:46)
Hors ligne
#2 Thu 18 June 2009 14:17
Re: mapserver mapinfo openlayers affichage couche WFS proxy
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
#3 Thu 18 June 2009 14:20
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: mapserver mapinfo openlayers affichage couche WFS proxy
bonjour,
http://trac.openlayers.org/wiki/Frequen … #ProxyHost
Y.
faut-il renseigner le parametre URL ?
OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
Hors ligne
#4 Thu 18 June 2009 14:33
Re: mapserver mapinfo openlayers affichage couche WFS proxy
Bonjour,
Non OpenLayers va utiliser l'url définie par OpenLayers.ProxyHost pour rajouter l'url que tu as définies dans ton objet layers WFS.
Cela devrait donner des appels http://monDomain/cgi-bin/proxy.cgi?url=http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?... mais c'est bien OpenLayers qui va gérer cela.
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
#5 Thu 18 June 2009 15:37
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: mapserver mapinfo openlayers affichage couche WFS proxy
je suppose que le fichier proxy.cgi doit etre mis quelque part mais où ?
http://trac.openlayers.org/browser/trun … /proxy.cgi
Hors ligne
#6 Thu 18 June 2009 15:50
Re: mapserver mapinfo openlayers affichage couche WFS proxy
Bonjour,
Comme indiqué dans la doc : dans le répertoire cgi-bin d'apache/ Sous linux (Debian) il est là : /usr/lib/cgi-bin/ sous Mandriva il était là : /var/www/cgi-bin/
La configuration d'Apache l'indique (visible avec un phpinfo() par exemple).
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
#7 Thu 18 June 2009 15:54
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: mapserver mapinfo openlayers affichage couche WFS proxy
Bonjour,
Comme indiqué dans la doc : dans le répertoire cgi-bin d'apache/ Sous linux (Debian) il est là : /usr/lib/cgi-bin/ sous Mandriva il était là : /var/www/cgi-bin/
La configuration d'Apache l'indique (visible avec un phpinfo() par exemple).
Y.
Aïe c'est pas compatible WINDOWS ????
ou alors ici ?:
Code:
C:\ms4w\Apache\cgi-bin
Dernière modification par icadedt (Thu 18 June 2009 16:01)
Hors ligne
#8 Thu 18 June 2009 16:04
Re: mapserver mapinfo openlayers affichage couche WFS proxy
voilà c'est ca :
Code:
C:\ms4w\Apache\cgi-bin
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
#9 Fri 19 June 2009 16:43
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: mapserver mapinfo openlayers affichage couche WFS proxy
firefox me renvoie le message d'erreur suivant:
http://www.flickr.com/photos/39689320@N … 5/sizes/o/
apparemment il y aurait un probleme de syntaxe au niveau du fichier proxy.cgi. pourquoi, je ne sais pas
le fichier proxy.cgi que j'ai mis dans le répertoire:
C:\ms4w\Apache\cgi-bin
le fichier proxy.cgi (j'ai rajouté 'www.bsc-eoc.org' dans la variable array allowedHosts) :
Code:
#!/usr/bin/env python """This is a blind proxy that we use to get around browser restrictions that prevent the Javascript from loading pages not on the same server as the Javascript. This has several problems: it's less efficient, it might break some sites, and it's a security risk because people can use this proxy to browse the web and possibly do bad stuff with it. It only loads pages via http and https, but it can load any content type. It supports GET and POST requests.""" import urllib2 import cgi import sys, os # Designed to prevent Open Proxy type stuff. allowedHosts = [ 'www.bsc-eoc.org', 'www.openlayers.org', 'openlayers.org', 'labs.metacarta.com', 'world.freemap.in', 'prototype.openmnnd.org', 'geo.openplans.org', 'sigma.openplans.org', 'www.openstreetmap.org'] method = os.environ["REQUEST_METHOD"] if method == "POST": qs = os.environ["QUERY_STRING"] d = cgi.parse_qs(qs) if d.has_key("url"): url = d["url"][0] else: url = "http://www.openlayers.org" else: fs = cgi.FieldStorage() url = fs.getvalue('url', "http://www.openlayers.org") try: host = url.split("/")[2] if allowedHosts and not host in allowedHosts: print "Status: 502 Bad Gateway" print "Content-Type: text/plain" print print "This proxy does not allow you to access that location (%s)." % (host,) print print os.environ elif url.startswith("http://") or url.startswith("https://"): if method == "POST": length = int(os.environ["CONTENT_LENGTH"]) headers = {"Content-Type": os.environ["CONTENT_TYPE"]} body = sys.stdin.read(length) r = urllib2.Request(url, body, headers) y = urllib2.urlopen(r) else: y = urllib2.urlopen(url) # print content type header i = y.info() if i.has_key("Content-Type"): print "Content-Type: %s" % (i["Content-Type"]) else: print "Content-Type: text/plain" print print y.read() y.close() else: print "Content-Type: text/plain" print print "Illegal request." except Exception, E: print "Status: 500 Unexpected Error" print "Content-Type: text/plain" print print "Some unexpected error occurred. Error text was:", E
pour info j'ai configuré OpenLayers.ProxyHost comme ca:
Code:
OpenLayers.ProxyHost="http://localhost:8080/proxy.cgi?url=";
Dernière modification par icadedt (Fri 19 June 2009 17:11)
Hors ligne
#10 Fri 19 June 2009 16:58
Re: mapserver mapinfo openlayers affichage couche WFS proxy
Bonjour,
Peux tu poster le message sur le forum ? Je n'ai pas de compte flickr et pas envie d'en créer un
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
#11 Fri 19 June 2009 17:12
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: mapserver mapinfo openlayers affichage couche WFS proxy
Bonjour,
Peux tu poster le message sur le forum ? Je n'ai pas de compte flickr et pas envie d'en créer un
Merci,
Y.
le voici en piece jointe
je rappelle que je suis sur windows . est ce que ca a une incidence ?
Dernière modification par icadedt (Fri 19 June 2009 17:30)
Hors ligne