Åberopar SSRS webbtjänster från WSS / MOSSA i FBA miljö

Vi behövde för att åberopa "CreateSubscription" metoden på en SSRS webbtjänst som är värd för en FBA hanteras MOSS miljö från en anpassad webbdel. Vi höll få varianter av:

  • 401: Inte auktoriserad
  • Objektet flyttas

"Objektet flyttas" meddelandet var mest intressant eftersom det var sa att objektet"" (vår SSRS service) hade "flyttat" till login.aspx. Detta innebar klart hade vi någon form av autentisering problem.

Så småningom insåg jag att jag hade bokmärkt en bloggpost av Robert Garret hur man åberopa en generell WSS/MOSS webbtjänst lever inuti en FBA miljö. Observera att jag inte kan länka direkt till artikeln (som av 06/09/08) eftersom man vill autentisera. Jag ge länken tar dig till en "alla inlägg" Visa och du kan hitta specifika artikeln genom att söka efter "Åtkomst till MOSS webbtjänster med hjälp av Forms-baserad autentisering".

Här är koden som arbetat för oss:

ReportingService2006 rs = null; 
// Autentisera Autentisering auth = nya Autentisering(); 
auth.URL = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
nya CookieContainer();
LoginResult resultat = auth.Logga in("userid", "lösenord");
om (resultat.Felkod == LoginErrorCode.NoError) 
{
// Inget fel, så få cookies.
CookieCollection cookies = auth.CookieContainer.GetCookies(nya URI(auth.URL));
Cookie authCookie = kakor[resultat.CookieName];
rs =
nya ReportingService2006();
rs.URL =
"http://Server/_vti_bin/reportserver/ReportService2006.asmx";
rs.CookieContainer =
nya CookieContainer();
rs.CookieContainer.Add(authCookie);
}
försök
{
  rs.CreateSubscription(rapport, extSettings, desc, eventType, matchData, parameters1);
}
fånga (Undantaget ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Jag tolkar saker att fungera så här:

  • Våra webbdelen måste ringa upp verifieringstjänsten och säga, "Hey, Tony, Det är jag!".
  • Autentiseringstjänsten svarar säger, "Hey, Jag vet att du. Hur är barnen? Här är en token."
  • Vi ringer upp tjänsten SSRS och säga, "Tony skickade mig, här är token."

</slutet>

Prenumerera på min blogg.

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *