Tengo ArcGIS 10.1 instalado con el adaptador web para IIS. Agregué un archivo de configuración a la raíz de IIS7 para habilitar Cross Origin Resource Sharing (CORS) según esta página. He incluido el servidor ArcGIS habilitado para cors en la lista de servidores predeterminados de cors según esta página:
esri.config.defaults.io.corsEnabledServers.push("vmagstenone")).
Sin embargo, cuando mi aplicación JavaScript que está alojada en vmagsten hace una solicitud al servidor SIG (vmagstenone) me sale el error
"Origin http://vmagsten is not allowed by Access-Control-Allow-Origin.".
Editar: Y la capa de entidades no se carga. También he intentado cargar una capa dinámica y esto también falla con el mismo error _557 (ver imagen)
Editar: no debería ver este error, ya que los pasos anteriores deberían significar que el servidor admite el origen cruzado. Esta declaración de esri de que se puede ignorar este error no se aplica en este caso ya que este servidor debería admitir cors. Significa que se puede ignorar el primer error al servidor ESRI.
!
Editar: aquí hay una respuesta de muestra de una consulta en esta capa que muestra que la respuesta tiene Access-Control-Allow-Origin
!
fuente
Respuestas:
Usted menciona que obtiene el error, pero ¿el servicio realmente no se carga?
Pregunto, cuando vi esta publicación en los foros de Esri que dice:
¿Supongo que también sucede en otras consolas de navegador?
De lo contrario, ¿puede lanzar un registro de Fiddler o un archivo .HAR en línea en algún lugar (o enviarlo por correo electrónico), y editaré esta respuesta en consecuencia.
fuente
Mientras que la respuesta contiene una
Access-Control-Allow-Origin: *
cabecera, sino que también contieneX-Frame-Options: SAMEORIGIN
yX-XSS-Protection: 1; mode=block
cabeceras. Estos son encabezados de prefijo X, que no son estándar , por lo que no estoy 100% seguro de que su navegador los cumpla con el encabezado de permiso.Puede usar una herramienta como Fiddler para agregar y eliminar encabezados de las solicitudes del navegador; Esto podría ayudarlo a rastrear lo que está sucediendo.
fuente
Esto es lo que funcionó para mí en IIS 8.0. Esto puede ser diferente en otras versiones de IIS.
O bien eliminar el
customHeaders
en el directorio raíz del sitio webweb.config
de archivos o borrar elweb.config
archivo completamente.Luego cambie a
ApplicationHost.config
en el Administrador de configuración de IIS para laarcgis
aplicación y agregueAccess-Control-Allow-Origin
nombre y*
valor alcustomHeaders
.fuente
No estoy familiarizado con el intercambio de recursos de origen cruzado.
Yo uso la política de dominio cruzado.
¿Tienes eso configurado también?
fuente
Lo que finalmente funcionó para mí es agregar lo siguiente al sitio ROOT y NO la aplicación para el adaptador web . ¿Tiene sentido? No para mí. Pero funcionó para mí.
EDITAR: Esto debería ir en el archivo proxy DotNet llamado Web.config.
fuente