Страница 2 из 3

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 15:49
eternal
1 ошибка: Access to restricted URI denied" code: "1012
[Break on this error] this._object.send(vData);if(bGecko&&!t...dyStateChange(this);if(this._aborted)

OpenLayers.js (строка 1188)

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 16:08
Mavka
И ничего больше?

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 17:35
eternal
ну я не очень разбираюсь в firebug, немного покопался, нашел только это, если поможет вот вся строчка из openlayers.js целиком
this._object.send(vData);if(bGecko&&!this._async){this.readyState=cXMLHttpRequest.OPENED;fSynchronizeValues(this);while(this.readyState<cXMLHttpRequest.DONE){this.readyState++;fReadyStateChange(this);if(this._aborted)
может быть все таки проблемы с исполнением proxy.cgi, потому что проверку по ссылке не проходит
http://trac.osgeo.org/openlayers/wiki/F ... #ProxyHost

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 17:41
Mavka
На закладке "Консоль" выше этой ошибки были сообщения типа:

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

POST http://gis-lab.info/cgi-bin/proxy.cgi?url=http://gis-lab.info/...
Запрос уходил или нет?

Прокси. Вы же сказали что по ссылке открывается OpenLayers? Если так, то он работает.

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 18:19
eternal
проверку (proxy)по ссылке с этой темы проходит, а вот по второй нет... я подумал если принцип действия одинаковый то и там должно работать.
А в консоли только это сообщение

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 19:16
Mavka
Ошибка 1012 означает "cross domain Ajax request"
1. Покажите какой у вас путь к прокси и путь к веб-странице.
2. Проверьте наличие OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 19:32
eternal
путь к прокси : C:\OSGeo4W\bin
путь к сайту : D:\blaqdog\wfs
и в коде прописано вот так : OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 20:08
Mavka

Re: OpenLayers и WFS (GeoServer)

Добавлено: 10 ноя 2010, 22:34
eternal
только что понял что файлы сайта лежали не там где нужно, переложил:
сайт - расположение C:\OSGeo4W\apache\htdocs\wfs адрес http://localhost/wfs/
прокси расположение C:\OSGeo4W\apache\cgi-bin ,адрес не знаю, если ввести http://localhost/cgi-bin/proxy.cgi то открывается openlayers
ссылка на прокси в коде - "../../cgi-bin/proxy.cgi?url="
При загрузке страницы картинка такая же, FireBug пишет 2 ошибки:

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

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport version="1.0.0"
  xsi:schemaLocation="http://www.opengis.net/ows http://localhost:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">
  <ows:Exception exceptionCode="MissingParameterValue" locator="request">
    <ows:ExceptionText>Could not determine geoserver request from http request GET /geoserver/wfs HTTP/1.1
Accept-Encoding: identity&#xd;
Host: localhost:8080&#xd;
Connection: close&#xd;
User-Agent: Python-urllib/2.7&#xd;
&#xd;
</ows:ExceptionText>
  </ows:Exception>

</ows:ExceptionReport>
и
при раскрытии 2ой ошибки указывает на строку с открывающим тегом <head>

Re: OpenLayers и WFS (GeoServer)

Добавлено: 11 ноя 2010, 17:03
Mavka
Приведенный код - это содержимое первой строки консоли?
Если судить по этому:

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

<ows:Exception exceptionCode="MissingParameterValue" locator="request"> 
то в запросе не хватало параметра 'request'. Откуда он там?

Откройте POST и в нем закладку Post. Сравните с моим:

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

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"
                service="WFS" version="1.0.0"
                xsi:schemaLocation="http://www.opengis.net/wfs
                                    http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                
    <wfs:Query typeName="feature:mylayer" xmlns:feature="http://gis-lab.info/ornito"/>
</wfs:GetFeature> 

Re: OpenLayers и WFS (GeoServer)

Добавлено: 11 ноя 2010, 19:11
eternal

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

<wfs:getfeature xmlns:wfs="http://www.opengis.net/wfs"
                        service="WFS" version="1.1.0"
                        xsi:schemaLocation="http://www.opengis.net/wfs
                                            http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <wfs:query typeName="feature:belgorod-bound" srsName="EPSG:4326" xmlns:feature="http://my.ru">
</wfs:query></wfs:getfeature>

Re: OpenLayers и WFS (GeoServer)

Добавлено: 11 ноя 2010, 19:17
Mavka
А в qgis этот слой по WFS работает?

Re: OpenLayers и WFS (GeoServer)

Добавлено: 11 ноя 2010, 21:42
eternal
Как правильно добавлять WFS или WMS слой?
Даю название подключению, а какой адрес вводить, пробовал http://localhost:8080/geoserver и http://localhost/wfs/
при попытке соединения пишет Не удалось обработать ответ. Сообщение источника wms:
Не удалось получить возможности WMS: tag mismatch в строке 75, столбец 78
Вероятно, неверно указан URL WMS-сервера.
и дальше html код
может быть все таки важно то что я не смог создать WFS(хранилище) в Geoserver , слой хранится в Shapefile ,
просто вы сказали "в GeoServer любой слой доступен как WMS так и WFS"

Re: OpenLayers и WFS (GeoServer)

Добавлено: 12 ноя 2010, 09:13
Mavka
URL такого вида (этот рабочий, можете проверить):
http://gis-lab.info:8180/geoserver/wms
http://gis-lab.info:8180/geoserver/wfs
у вас будет другой номер порта (8080).

Re: OpenLayers и WFS (GeoServer)

Добавлено: 12 ноя 2010, 14:51
eternal
http://localhost:8080/geoserver/wms
http://localhost:8080/geoserver/wfs
работает, выбрал этот слой и открыл в WMS и в WFS