Invoking layanan Web SSRS dari WSS / MOSS di FBA lingkungan

Kami perlu untuk memanggil "CreateSubscription" metode pada SSRS layanan web yang di-host di FBA dikelola MOSS lingkungan dari bagian web kustom. Kami terus mendapatkan variasi:

  • 401: Tidak diizinkan
  • Objek bergerak

"Objek bergerak" pesan ini paling menarik karena itu mengatakan bahwa "objek" (pelayanan SSRS) telah "pindah" untuk login.aspx. Ini jelas berarti kita memiliki semacam masalah otentikasi.

Saya akhirnya menyadari bahwa aku punya bookmarked blog entry oleh Robert Garret yang menggambarkan bagaimana untuk memohon layanan web WSS MOSS tujuan umum dalam lingkungan FBA. Perhatikan bahwa saya tidak link langsung ke artikel (seperti 06/09/08) karena ingin mengotentikasi. Link yang saya berikan membawa Anda ke "semua posting" Lihat dan Anda dapat mencari artikel dengan mencari "Mengakses layanan MOSS Web menggunakan otentikasi berbasis bentuk".

Berikut adalah kode yang bekerja untuk kami:

ReportingService2006 rs = null; 
// Otentikasi Auth otentikasi = baru Otentikasi(); 
otorisasiURL = "http://URL/_vti_bin/Authentication.asmx";
otorisasiCookieContainer =
baru CookieContainer();
Hasil LoginResult = otorisasiLogin("userid", "password");
Jika (hasil.ErrorCode == LoginErrorCode.NoError) 
{
// Tidak ada kesalahan, Jadi mendapatkan cookie.
Cookie CookieCollection = otorisasiCookieContainer.GetCookies(baru URI(otorisasiURL));
Cookie authCookie = cookie[hasil.CookieName];
RS =
baru ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
baru CookieContainer();
RS.CookieContainer.Add(authCookie);
}
coba
{
  RS.CreateSubscription(Laporan, extSettings, desc, eventType, matchData, parameters1);
}
menangkap (Pengecualian ex)
{
  Console.WriteLine(mantan.Message.ToString());
}

Menginterpretasikan hal bekerja seperti ini:

  • Bagian web kita perlu dial up layanan otentikasi dan mengatakan, "Hei, Tony, saya!".
  • Layanan otentikasi menjawab mengatakan, "Hei, Saya tahu Anda. Bagaimana Apakah anak-anak? Berikut adalah tanda."
  • Kami menelepon layanan SSRS dan mengatakan, "Tony mengirimi saya, Berikut ini adalah token."

</akhir>

Berlangganan ke blog saya.

Tinggalkan balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *