Saya memiliki ArcGIS 10.1 diinstal dengan adaptor web untuk IIS. Saya telah menambahkan file konfigurasi ke root IIS7 untuk mengaktifkan Cross Origin Resource Sharing (CORS) sesuai halaman ini . Saya telah mendorong cors yang mengaktifkan server ArcGIS ke daftar server cors default sesuai halaman ini :
esri.config.defaults.io.corsEnabledServers.push("vmagstenone")).
Namun, ketika aplikasi JavaScript saya yang di-host di vmagsten membuat permintaan ke server GIS (vmagstenone) saya mendapatkan kesalahan
"Origin http://vmagsten is not allowed by Access-Control-Allow-Origin.".
Sunting: Dan lapisan fitur gagal dimuat. Saya juga mencoba memuat lapisan dinamis dan ini juga gagal dengan kesalahan yang sama _557 (lihat gambar)
Sunting: Saya seharusnya tidak melihat kesalahan ini karena langkah-langkah di atas harus berarti bahwa server tidak mendukung asal silang. Pernyataan ini oleh esri bahwa kesalahan ini dapat diabaikan tidak berlaku dalam kasus ini karena server ini harus mendukung kor. Itu berarti bahwa kesalahan pertama ke server ESRI dapat diabaikan.
!
Sunting: di sini adalah contoh respons dari kueri pada lapisan ini yang menunjukkan bahwa respons tersebut memiliki Access-Control-Allow-Origin
!
sumber
Jawaban:
Anda menyebutkan bahwa Anda mendapatkan kesalahan, tetapi apakah layanan sebenarnya gagal dimuat?
Saya bertanya, ketika saya melihat posting ini di forum Esri yang menyatakan:
Apakah saya berasumsi itu terjadi di konsol peramban lain juga?
Jika tidak, dapatkah Anda melempar log Fiddler atau file .HAR secara daring ke suatu tempat (atau mengirim email kepada saya), dan mengedit jawaban ini dengan benar.
sumber
Sementara respons memang berisi
Access-Control-Allow-Origin: *
tajuk, tajuk juga berisiX-Frame-Options: SAMEORIGIN
danX-XSS-Protection: 1; mode=block
tajuk. Ini adalah tajuk awalan-X, yang tidak standar , jadi saya tidak 100% yakin jika peramban Anda menghormatinya melalui tajuk yang diizinkan.Anda dapat menggunakan alat seperti Fiddler untuk menambah dan menghapus header dari permintaan browser; ini mungkin membantu Anda melacak apa yang terjadi.
sumber
Inilah yang bekerja untuk saya di IIS 8.0. Ini mungkin berbeda pada versi IIS lainnya.
Hapus
customHeaders
dalamweb.config
file direktori root situs web atau hapusweb.config
file sepenuhnya.Kemudian beralih ke
ApplicationHost.config
Manajer Konfigurasi IIS untukarcgis
aplikasi dan tambahkanAccess-Control-Allow-Origin
nama dan*
nilai kecustomHeaders
.sumber
Saya tidak akrab dengan berbagi sumber daya lintas-asal.
Saya menggunakan kebijakan lintas domain.
Apakah Anda sudah mengonfigurasinya juga?
sumber
Apa yang akhirnya berhasil bagi saya adalah menambahkan yang berikut ke situs ROOT dan BUKAN aplikasi untuk adaptor web . Apakah masuk akal? Bukan untuk ku. Tetapi itu berhasil bagi saya.
EDIT: Ini harus masuk dalam file proksi DotNet yang disebut Web.config.
sumber