Configurando seu servidor de mapas para JSON-P¶
Problemas¶
Para exibir um fluxo WFS em uma biblioteca de mapeamento da Web, os dados precisam ser recuperados e, em seguida, exibidos. No entanto, a solicitação geralmente é bloqueada pelo princípio Cross Domain, que visa impedir que dois servidores com domínios diferentes troquem dados.
O JSONP contorna esse problema encapsulando o resultado em uma tag <script>
(consulte o artigo dedicado ao JSONP no Journal du Net). Para evitar erros de Javascript, o resultado está contido em uma função, portanto, você precisa saber o nome dessa função para poder usar a resposta.
Nem todos os servidores de mapas mais usados podem gerar JSONP por meio do parâmetro OUTPUTFORMAT=
. Aqui, apresentamos a solução com o GeoServer (um servidor de mapas gratuito e de código aberto), sendo que a Esri implementou suas próprias versões dos padrões (consulte Esri Feature/feature service correspondente ao WFS).
GeoServer¶
O GeoServer pode retornar JSONP se a funcionalidade tiver sido ativada (ela está desativada por padrão). Para ativar esse parâmetro, crie uma variável de ambiente dependente do usuário que está executando o serviço GeoServer chamado ENABLE_JSONP
com o valor true
e, em seguida, reinicie o serviço GeoServer.
Recomendamos que você use o comando SETX:
SETX /u myuser [/p [<Password>]] ENABLE_JSONP true
Depois de fazer isso, quando você fizer uma solicitação GetCapabilities
para um dos seus serviços WFS do GeoServer, o formato JSONP estará presente.