Mengapa IIS menulis ulang string kueri URL saya untuk menggabungkan kunci berulang?

Saya bekerja dengan MicroStrategy 10.3, yang dihosting di IIS 7.5. Saya menggunakan API URL mereka untuk menjalankan dokumen, dan mengubah nilai pemilih drop-down.

IIS mengutak-atik parameter kueri saya, melalui pengalihan 302. URL ini:

https://server/MicroStrategy/asp/Main.aspx?Server=XXX&Project=XXX&evt=2048001&src=Main.aspx.2048001&maxWait=-1&documentID=XXX&evt=2048084&src=Main.aspx.oivm.rwb.2048084&ctlKey=XXX&elemList=hXX;XXX&evtorder=2048001%2c2048084&2048084=1&2048001=1

sedang 302 ke:

https://server/MicroStrategy/asp/Main.aspx?Server=XXX&Project=XXX&evt=2048001%2C2048084&src=Main.aspx.2048001%2CMain.aspx.oivm.rwb.2048084&maxWait=-1&documentID=XXX&ctlKey=XXX&elemList=hXX%3BXXX&evtorder=2048001%2C2048084&2048084=1&2048001=1

(Dua evt dan src yang berbeda digabungkan, dan MicroStrategy mengeluh bahwa 'ID Peristiwa 2048001,2048084 ilegal'.)

Apakah IIS melakukan hal seperti ini secara langsung? Hal ini tampaknya tidak mungkin terjadi. Saya tidak dapat melihat pengalihan HTTP khusus apa pun di IIS Manager untuk aplikasi tersebut.


person paulbailey    schedule 10.04.2017    source sumber


Jawaban (1)


IIS jelas bukan pelakunya.

MicroStrategy menghasilkan pengalihan 302 itu sendiri, setelah login otomatis. Anda mungkin berpikir bahwa aplikasi perusahaan tidak akan menulis ulang URL-nya sendiri sehingga menyebabkan kesalahan, tetapi Anda salah.

Saya menyelesaikan masalah ini dengan menambahkan acara login secara manual, dan menyandikan URL dua acara yang ingin saya panggil ke dalam kunci target:

https://server/MicroStrategy/asp/Main.aspx?Server=XXX&Project=XXX&evt=3054&src=Main.aspx.3054&target=evt%3D2048001%26src%3DMain.aspx.2048001%26maxWait%3D-1%26documentID%3DXXX%26evt%3D2048084%26src%3DMain.aspx.oivm.rwb.2048084%26ctlKey%3DXXX%26elemList%3DhXX%3BXXX%26evtorder%3D2048001%252c2048084%262048084%3D1%262048001%3D1

person paulbailey    schedule 10.04.2017