Mais

WFS via Geoserver - Proxy or MapDocument Issues?


Tenho dificuldade em fazer uma sobreposição WFS do geoserver funcionar. Acho que atendo todos os requisitos para que o WFS seja exibido em meu mapa, mas a solicitação parece travar em algum lugar ... FireBug dá a mensagem de erro:

Acesso ao URI restrito negado "código:" 1012 http://www.openlayers.org/api/OpenLayers.js Linha 1188

enquanto a Linha 1188 contém o seguinte:

this._object.send (vData); if (bGecko &&! this._async) {this.readyState = cXMLHttpRequest.OPENED; fSynchronizeValues ​​(this) while (this.readyState

Todos os aplicativos estão rodando no localhost, instalei o Apache Webserver e configurei um proxy já que isso era recomendado na maioria dos Threads relativos ao WFS rodando no localhost. Usei o proxy.cgi de http://trac.osgeo.org/openlayers/browser/trunk/openlayers/examples/proxy.cgi e permiti o acesso para 'localhost', 'localhost: 80' e 'localhost: 8080'same com meu IP (IP, IP: 80, IP: 8080).

Quando eu visito localhost / cgi-bin / proxy.cgi, vejo a página OpenLayers, então deve estar funcionando! Minha variável WFS se parece com isto:

var wfs = new OpenLayers.Layer.Vector ("WFS", {estratégias: [new OpenLayers.Strategy.Fixed ()], protocolo: new OpenLayers.Protocol.WFS ({version: "1.1.0", url: "http : // localhost: 8080 / geoserver / wfs ", featurePrefix:" workspacename ", featureType:" layername ", featureNS:" http: // lvr ", [tentou vários, não precisa ser um URL existente certo? ] srsName: "EPSG: 4326", geometryName: "the_geom"})});

então eu configurei

OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

Este está completo e onde o coloco no documento do mapa? Alguém pode ajudar? Tentei várias opções, nada realmente ajudou, mas parece que é algum problema de conexão / segurança ao invés de smth relacionado ao script de mapa em si ... Preciso necessariamente de uma variável de formato, um local de esquema ou um mapa de estilo? Falta mais alguma coisa importante?


Atualização de comentários:

Eu posso abri-lo, digitando localhost: 8080 / map.html… E quando acabei de fazer isso, os dados WFS apareceram!

Não posso acreditar - acabei de acessar o html erroneamente ?! Erro de iniciante. Obrigado geographika…


Uma solução rápida que evita a necessidade de proxies durante o teste é colocar suas páginas da web no diretório www do seu diretório de dados GeoServer. A página será servida através da mesma porta e host que seu WFS e tudo funcionará bem.

Em última análise, você precisará de um proxy se (e somente se) mover as páginas da web para algum outro local.


O erro indica um problema entre domínios.

Como você está acessando seu site? Por meio de http: // localhost: 80 ou http: // localhost: 8080? E onde seu proxy está hospedado? Deve corresponder ao local e à porta do seu site.

Você diz que está executando o aplicativo localmente, mas sua mensagem FireBug indica que você está usando o Javascript OpenLayers hospedado em: http://www.openlayers.org/api/OpenLayers.js

A alternativa é baixar e hospedar os arquivos JavaScript e CSS você mesmo em http://openlayers.org/download/

No entanto, isso não deve fazer diferença.


Assista o vídeo: GeoServer. OpenLayers. Apache (Outubro 2021).