enable - access control allow origin tomcat
CORS-Tomcat-Geoserver (3)
Hola chicos después de agregar este script en web.xml
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
por favor cambia la url en tu ajax asi
var boxsource = new ol.source.Vector({
//url: ''{{ resource.ows_url|safe }}'',
url: ''http://localhost:8080/geoserver/wfs?srsName=EPSG%3A4326&typename=cite:box&outputFormat=json&version=1.1.0&service=WFS&request=GetFeature'',
format: new ol.format.GeoJSON(),
params: {''LAYERS'': ''{{ resource.typename }}''},
//STYLES:{''LAYERS'': ''{{ resource.typename }}''}
});
entonces será okey. lo prometo
Todos, estoy intentando habilitar CORS en Tomcat 7.0.52 para Geoserver.
He modificado web.xml en conf en tomcat, como se especifica en http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter
Pero, eso no ayudó a establecer orígenes cruzados en el encabezado. Incluso lo probé para geoserver web-inf / web.xml que no ayudó.
Cualquier sugerencia es apreciada.
¡Gracias!
Necesitaba agregar lo siguiente a CorsFilter para asegurarme de que se permitía la solicitud de ''OPCIONES'' de verificación previa
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
Necesito hacer lo mismo para evitar el uso de un proxy en OpenLayers.
Desde que ejecuto Ubuntu 12.04, instalé Tomcat 7.0.55 , en lugar del predeterminado 7.0.26 (instalado desde paquetes).
Para agregar encabezados CORS, simplemente agregué a $CATALINA_HOME/conf/web.xml
las siguientes líneas:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
y luego reiniciar Tomcat.
Por ejemplo, cuando intento obtener de Geoserver la URL http://development.localhost.lan/geoserver/wfs
desde mi aplicación que se ejecuta en http://localhost:3000
, obtengo los siguientes encabezados:
Encabezados solicitados:
POST /geoserver/wfs HTTP/1.1
Host: development.localhost.lan
Origin: http://localhost:3000
X-Requested-With: XMLHttpRequest
(...)
Cabeceras de respuesta:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:3000
Connection:Keep-Alive
Content-Disposition:inline; filename=geoserver-GetFeature.text
Content-Encoding:gzip
Content-Length:469
Content-Type:text/xml; subtype=gml/3.1.1
Date:Tue, 29 Jul 2014 21:31:08 GMT
Keep-Alive:timeout=5, max=100
Server:Apache-Coyote/1.1
Esto funcionó con Chrome (Ver. 35.0.1916.153) y Firefox (Ver. 31.0).