Странная ощибка GetFeatureInfo

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 04 май 2011, 14:32

Отличия только в версии. На это это никак не реагирует?
лангольеры под окном жрали время ом-ном-ном

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 04 май 2011, 14:54

Выдает пустую таблицу!!!
ничего не могу понять !

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 04 май 2011, 17:25

Так кто знает в чем проблема ???
Я уже отчаялся!

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 05 май 2011, 09:41

Если он выдает пустую таблицу, но при точно таком же обращении из OL (все параметры идентичны) ответ нулевой, то у меня идей, объясняющих мистику, нету. Попробуйте сменить формат с text/html на GML.
лангольеры под окном жрали время ом-ном-ном

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 06 май 2011, 13:37

Я думаю что раз запрос выдает таблицу с нулевыми значениями , то ошибка явно не в мап-файле .

вот моя функция:

Код: Выделить всё

	 info = new OpenLayers.Control.WMSGetFeatureInfo({
			 
            url:'http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/example/polt.map',   /*URL STRAIGHT*/
			layerUrls:['http://localhost:8080/WMSTileCache-V0.2/WMS/water'],
           
            queryVisible: true,
            eventListeners: {
                getfeatureinfo: function(event) {
                    map.addPopup(new OpenLayers.Popup.FramedCloud(
                        "chicken", 
                        map.getLonLatFromPixel(event.xy),
                        null,
                        event.text,
                        null,
                        true
                    ));
                }
            }
        });
        map.addControl(info);
        info.activate();
Любопыино , что в попапе без проблем можна вывести любые другие значения . все , кроме того что нужно .

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 06 май 2011, 15:43

Самая непонятная проблема - почему запрос вручную дает пустую таблицу, а отправленный из OpenLayers вообще ничего не возвращает. Проверьте еще раз прокси, попробуйте не использовать его. Включите отладку в MapServer, еще раз просмотрите логи Apache и консоль Firebug.
лангольеры под окном жрали время ом-ном-ном

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 06 май 2011, 16:24

Proxy не использую , хотя фаербаг все равно дает ошибку "Proxy undefined"

Как включить отладку Mapserver ???

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 06 май 2011, 16:56

На уровне MAP:

Код: Выделить всё

CONFIG "MS_ERRORFILE" "c:/temp/error.log"
DEBUG 5
Proxy не использую
Хорошо, а если его включить?
лангольеры под окном жрали время ом-ном-ном

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 06 май 2011, 17:29

Если включить прокси : все равно ошибка
OpenLayers is not defined
OpenLayers.ProxyHost = "proxy.cgi?url=";
И в попапе опять
#! C:/Python27/python.exe -u """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 = ['localhost','localhost:8080','www.openlayers.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

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 06 май 2011, 17:30

из моего proxy.cgi :

allowedHosts = ['localhost','localhost:8080','www.openlayers.org']

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 06 май 2011, 17:37

Если включить прокси , то запрос в фаербаге вообще не отлеживаеться!
зато отображает в попапе вышенаписаное!

вот error log мапсервера : (Прокси выключен)
[Fri May 06 18:32:37 2011].500000 CGI Request 1 on process 3140
[Fri May 06 18:32:37 2011].515000 mapserv request processing time (msLoadMap not incl.): 0.015s
[Fri May 06 18:32:37 2011].515000 msFreeMap(): freeing map at 01A4B7A0.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 06 май 2011, 20:38

OpenLayers.ProxyHost = "proxy.cgi?url=";
URL для прокси должен быть абсолютным, обычно:

Код: Выделить всё

OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";  
Прокси-скрипт проверяется на работоспособность самостоятельно без OpenLayers. См. там же.
лангольеры под окном жрали время ом-ном-ном

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 07 май 2011, 13:11

С включенным прокси :
Access to restricted URI denied" code: "1012
и запрос не происходит .
что это значит ??

Protectr
Участник
Сообщения: 69
Зарегистрирован: 01 фев 2011, 18:16
Репутация: 0

Re: Странная ощибка GetFeatureInfo

Сообщение Protectr » 07 май 2011, 17:45

Перейдя по ссылке
http://localhost/cgi-bin/proxy.cgi
открываеться страничка OpenLayers

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Странная ощибка GetFeatureInfo

Сообщение Mavka » 08 май 2011, 14:04

Какой путь для прокси указываете (OpenLayers.ProxyHost)?
лангольеры под окном жрали время ом-ном-ном

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость