Inroepen SSRS webservices van WSS / MOSS in FBA omgeving

We nodig zich te beroepen op de CreateSubscription"" methode op een SSRS-webservice die wordt gehost in een FBA beheerd MOSS milieu vanuit een aangepast webonderdeel. Wij hield krijgend variaties van:

  • 401: Niet toegestaan
  • Object verplaatst

Het "object verplaatst" bericht was het meest interessant omdat het zei dat het "object" (onze SSRS-service) had "verplaatst" aan login.aspx. Dit betekende duidelijk hadden we een soort van probleem met verificatie.

Uiteindelijk besefte ik dat ik had bladwijzer van een blogbericht door Robert Garret die beschreef hoe zich te beroepen op een algemene doel WSS/MOSS-webservice die leeft in een omgeving FBA. Merk op dat ik kan rechtstreeks aan het artikel koppelen (als van 06/09/08) omdat het om te verifiëren dat wil. De link die ik bieden brengt u naar een "alle berichten" en u kunt de specifieke artikel vinden door te zoeken naar "Toegang tot MOSS webservices met behulp van verificatie met formulieren op basis van".

Hier is de code die voor ons werkte:

ReportingService2006 rs = Null; 
// Verifiëren Verificatie auth = Nieuw Verificatie(); 
auth. URL = "http://URL/_vti_bin/Authentication.asmx";
auth. CookieContainer =
Nieuw CookieContainer();
LoginResult resultaat = auth. Login("userid", "wachtwoord");
Als (resultaat. ErrorCode == LoginErrorCode.NoError) 
{
// Geen fout, Zo krijgen de cookies.
CookieCollection cookies = auth. CookieContainer.GetCookies(Nieuw URI(auth. URL));
Cookie authCookie = cookies[resultaat. CookieName];
RS =
Nieuw ReportingService2006();
RS. URL =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
RS. CookieContainer =
Nieuw CookieContainer();
RS. CookieContainer.Add(authCookie);
}
Probeer
{
  RS. CreateSubscription(verslag, extSettings, desc, eventType, matchData, PARAMETERS1);
}
vangst (Uitzondering ex)
{
  Console.WriteLine(ex. Message.ToString());
}

Ik interpreteer dingen om te werken als dit:

  • Onze webonderdeel moet dial-up van de verificatieservice en zeggen, "Hey, Tony, It's me!".
  • Verificatieservice van antwoorden zeggen, "Hey, Ik weet dat je. Hoe zijn de kinderen? Hier is een token."
  • We roepen de SSRS-service en zeggen, "Tony stuurde me, Hier is het token."

</einde>

Abonneren op mijn blog.

Laat een antwoord achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *