Más

Encabezado xml geoserver para cors xmlhttprequest

Encabezado xml geoserver para cors xmlhttprequest


Estoy ejecutando geoserver-2.5.2. Desde un servidor externo, me gustaría llamarlo como fuente wfs con ol3. Para esto, me gustaría permitir que este servidor externo acceda a los datos. Parece que necesito un encabezado para compartir recursos de origen cruzado (CORS). Como lo ha intentado Zia aquí, el enlace tampoco me ayudó, ya que geoserver ya no funcionaba después de editar el archivo web.xml de la forma descrita en el enlace.

Creo que necesito el acceso para llamar a los datos de wfs.


Sé que publicaste esta pregunta desde hace mucho tiempo, pero solo estoy resolviendo el problema.

Enfrenté el mismo problema y probé muchas soluciones que discutimos aquí o en otros foros y finalmente logré resolver el problema de habilitar Cross Origin en Geoserver.

Después de muchas pruebas, descubrí que la solución es bastante simple siguiendo los pasos exactos que se encuentran en la página web Jetty Jetty Cross Origin Filter.

Pero con un pequeño cambio, la página decía que tenemos que copiar lo siguiente Filtro de origen cruzado al (Web.xml) archivo de configuración, pero la solución que funcionó conmigo es copiar esta configuración xml de filtro en (webdefault.xml) archivo de configuración, al aplicar este cambio, el geoservidor funcionó como un encanto y pude ejecutar cualquier WFS, WMS GetFeatureInfoRequest en formato JSON usando AJAX en lugar de usar IFrame soultion.

Estoy usando las siguientes versiones de software:

  • Boundless OpenGeo v4.5.
  • Geoserver v 2.6.2.
  • Jetty v 7.6.13.v20130916.

Aquí están los pasos detallados:

  1. Descargue la versión combinada de los servlets Jetty de acuerdo con su versión de embarcadero desde esta página Jetty Servlets.
  2. En este ejemplo estoy usando embarcadero v7.6.13.v20130916 por lo que el archivo jar debe llamarse
    (embarcadero-servlets-7.6.13.v20130916.jar) el nombre del archivo será diferente según la versión del embarcadero; no cambie su nombre porque embarcadero coincide con el nombre del servlet con su versión como:
    jetty-servlets - <% JETTY_VERSION%>. jar, así que no le cambie el nombre.
  3. Detenga los servicios (GeoServer, Postgres) y tome una copia del directorio OpenGeo ubicado en
    (C: Archivos de programa (x86) boundless OpenGeo) y también Copie el directorio OpenGeo ubicado en
    (C: ProgramData boundless OpenGeo) antes de comenzar este tutorial, como medida de precaución.

  4. Copie el archivo (embarcadero-servlets-7.6.13.v20130916.jar) (Tal como está) en el directorio Jetty Lib
    (* C: Archivos de programa (x86) boundless OpenGeo jetty lib *) también el directorio puede cambiar según su directorio de instalación.

  5. Copie y pegue las siguientes líneas xml en el (webdefault.xml) situado en
    (C: Archivos de programa (x86) boundless OpenGeo jetty ect webdefault.xml), no estoy seguro de que la ubicación de estas líneas en el archivo sea importante o no, pero las pego a partir de línea # 306 después.
 origen cruzado org.eclipse.jetty.servlets.CrossOriginFilter  origen cruzado /*
  1. Iniciar el (GeoServer, Postgres) servicios, espera unos segundos y vaya a la página del geoservidor, el geoservidor se iniciará correctamente.

Este tutorial funcionó para mí y espero que funcione para cualquiera que tenga el mismo problema.


fwiw enable-cors.org es un gran recurso general para configuraciones de servidor o cliente, en caso de que esté implementando con Tomcat, por ejemplo.


Solo para mencionar, Geoserver lanzó recientemente 2.9-RC1, que viene con el embarcadero más actualizado (v9 +) que admite CORS. Al igual que el mencionado por Ahmed GIS, debe descargar la versión correcta de los servlets de embarcadero. Pero esta vez, es para copiar en el directorio. " WEB-INF lib"y editar el archivo "WEB-INF web.xml" en lugar de.


Para GeoServer 2.8 resuelvo por este procedimiento:

http://2carto.com/enable-cors-domain-geoserver-2-8/#comment-53

Intenté implementarlo en GeoServer 2.9 pero no puedo resolver este problema, así que reinstalé GeoServer 2.8 y funciona.