У меня установлена ArcGIS 10.1 с веб-адаптером для IIS. Я добавил файл конфигурации в корень IIS7, чтобы включить Cross Origin Resource Sharing (CORS) согласно этой странице. Я поместил сервер ArcGIS с поддержкой cors в список серверов cors по умолчанию на этой странице:
esri.config.defaults.io.corsEnabledServers.push("vmagstenone")).
Однако, когда мое приложение JavaScript, размещенное на vmagsten, отправляет запрос на ГИС-сервер (vmagstenone), я получаю сообщение об ошибке
"Origin http://vmagsten is not allowed by Access-Control-Allow-Origin.".
Изменить: И векторный слой не загружается. Я также попытался загрузить динамический слой, и это тоже не удается с той же ошибкой _557 (см. Изображение)
Изменить: я не должен видеть эту ошибку, так как вышеуказанные шаги должны означать, что сервер поддерживает перекрестное происхождение. Это заявление esri о том, что эту ошибку можно игнорировать, в этом случае не применимо, поскольку этот сервер должен поддерживать cors. Это означает, что первую ошибку на сервере ESRI можно игнорировать.
!
Изменить: вот пример ответа на запрос на этом слое, показывающий, что ответ имеет Access-Control-Allow-Origin
!
источник
Ответы:
Вы упоминаете, что получили ошибку, но действительно ли служба не загружается?
Я спрашиваю, как я заметил этот пост на форумах Esri, в котором говорится:
Я предполагаю, что это происходит и в других браузерных консолях?
Если нет, вы можете выложить где-нибудь журнал Fiddler или файл .HAR онлайн (или написать мне по электронной почте) и соответственно отредактировать этот ответ.
источник
Хотя ответ содержит
Access-Control-Allow-Origin: *
заголовок, он также содержитX-Frame-Options: SAMEORIGIN
иX-XSS-Protection: 1; mode=block
заголовки. Это нестандартные заголовки X-префиксов , поэтому я не уверен на 100%, поддерживает ли ваш браузер их над заголовком allow.Вы можете использовать такой инструмент, как Fiddler, чтобы добавлять и удалять заголовки из запросов браузера; Это может помочь вам отследить, что происходит.
источник
Вот что сработало для меня в IIS 8.0. Это может отличаться в других версиях IIS.
Либо удалите файл
customHeaders
корневого каталога на сайте,web.config
либо удалитеweb.config
файл полностью.Затем перейдите
ApplicationHost.config
в диспетчер конфигурации IIS дляarcgis
приложения и добавьтеAccess-Control-Allow-Origin
имя и*
значение вcustomHeaders
.источник
Я не знаком с разделением ресурсов между источниками.
Я использую междоменную политику.
У вас это тоже настроено?
источник
В конечном итоге у меня получилось добавить на сайт ROOT следующее, а НЕ приложение для веб-адаптера . Имеет ли это смысл? Не мне. Но это сработало для меня.
РЕДАКТИРОВАТЬ: Это должно быть в прокси-файле DotNet под названием Web.config.
источник