Wywoływania usługi sieci Web usługi SSRS z WSS / Mech w formularzach środowiska

Musieliśmy wywołać "CreateSubscription" Metoda na SSRS usługa sieci web, która jest obsługiwana w FBA zarządzanym środowisku, mech z niestandardowego składnika web part. Mamy trzymany dostawanie odmiany:

  • 401: Nie dozwolone
  • Obiekt przeniósł się

"Obiekt przeniósł się" wiadomość została najbardziej interesujące, bo mówił, że "obiekt" (Nasze usługi SSRS) przeniósł"" na login.aspx. Oznaczało to wyraźnie, że miał jakiś problem uwierzytelnianie.

W końcu sobie sprawę, że Zakładka wpis w blogu przez Robert Garret, która określała sposób wywoływania usługa sieci web WSS/mech ogólnego życia wewnątrz środowiska FBA. Należy zauważyć, że nie można połączyć bezpośrednio do artykułu (jak z 06/09/08) bo chce do uwierzytelnienia. Mogę podać link prowadzi do "wszystkie posty" widok i można zlokalizować określonego artykuł wyszukując "Uzyskiwanie dostępu do usług sieci Web mech przy użyciu uwierzytelniania opartego na formularzach".

Oto kod, który pracował dla nas:

ReportingService2006 r = pusty; 
// Uwierzytelnienia Auth uwierzytelnianie = Nowy Uwierzytelnianie(); 
źrURL = "http://URL/_vti_bin/Authentication.asmx";
źrCookieContainer =
Nowy CookieContainer();
LoginResult wynik = auth.Zgłoś się do systemu("nazwa użytkownika", "hasło");
Jeśli (wynik.Kod błędu == LoginErrorCode.NoError) 
{
// Błąd nie, tak dostać ciasteczka.
Ciasteczka CookieCollection = auth.CookieContainer.GetCookies(Nowy URI(źrAdres URL));
Cookie authCookie = pliki cookie[wynik.Nazwę CookieName];
r =
Nowy ReportingService2006();
RS.URL =
"http://Server/_vti_bin/reportserver/ReportService2006.asmx";
RS.CookieContainer =
Nowy CookieContainer();
RS.CookieContainer.Add(authCookie);
}
Spróbuj
{
  RS.CreateSubscription(Raport, extSettings, desc, eventType, matchData, parameters1);
}
połów (Wyjątek ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Tłumaczę rzeczy do pracy jak to:

  • Naszej strony sieci web musi dial-up usługę uwierzytelniania i powiedzieć, "Hej, Tony, to mnie!".
  • Usługa uwierzytelniania odpowiedzi, mówiąc:, "Hej, Wiem, że. Jak są dzieci? Tutaj jest token."
  • Nazywamy się usługa SSRS i powiedzieć, "Tony wysłał mi, Tutaj jest tokenem."

</koniec>

Subskrybowanie mój blog.

Odpowiedz

Twoj adres e-mail nie bedzie opublikowany. wymagane pola są zaznaczone *