Invoking SSRS Web dienste van WSS / Die MOSS in FBA Omgewing

Ons moes die "CreateSubscription te roep" method on an SSRS web service that is hosted in an FBA managed MOSS environment from a custom web part. We kept getting variations of:

  • 401: Nie gemagtig
  • Voorwerp het

Die voorwerp het" boodskap was baie interessant, want dit het gesê dat die "voorwerp" (ons SSRS diens) het geskuif" to login.aspx. This clearly meant we had some kind of authentication problem.

Ek het uiteindelik besef dat ek moes geboekmerk 1 blog inskrywing by Robert Garret that described how to invoke a general purpose WSS/MOSS web service living inside an FBA environment. Note that I can’t link directly to the article (soos van 06/09/08) because it wants to authenticate. The link I provide brings you to an "all posts" sien en kan jy die spesifieke artikel vind deur te soek vir "Toegang tot MOSS Web Services deur gebruik te maak van Vorms verifikasie".

Hier is die kode wat vir ons gewerk het:

ReportingService2006 rs = nul; 
// Verifiëer Verifikasie auth = nuwe Verifikasie(); 
auth.Url = "http://URL / _vti_bin-/ Authentication.asmx";
auth.CookieContainer =
nuwe CookieContainer();
LoginResult gevolg = auth.Login("Id", "Password");
indien (result.ErrorCode == LoginErrorCode.NoError) 
{
// Geen fout, so kry die koekies.
CookieCollection koekies = auth.CookieContainer.GetCookies(nuwe Uri(auth.Url));
Koekie authCookie = koekies[result.CookieName];
rs =
nuwe ReportingService2006();
rs.Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
nuwe CookieContainer();
rs.CookieContainer.Add(authCookie);
}
probeer
{
  rs.CreateSubscription(verslag, extSettings, desc, eventType, matchData, parameters1);
}
vang (Uitsondering ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Ek interpreteer om dinge uit te werk soos hierdie:

  • Ons web deel moet inbel die verifikasie diens en sê, "Hey, Tony, dit is my!".
  • Verifikasie diens antwoorde sê, "Hey, I know you. How are the kids? Here’s a token."
  • Ons doen 'n beroep op die SSRS diens en sê, "Tony het my gestuur, hier is die bewys."

</einde>

Skryf in op my blog.

Laat 'n antwoord

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk *