Richiamando SSRS Web Services da WSS / MUSCHIO in ambiente FBA

Abbiamo bisogno di richiamare il "CreateSubscription" Metodo su un servizio web SSRS è ospitata in un FBA MOSS ambiente gestito da una web part personalizzata. Abbiamo continuava a variazioni di:

  • 401: Non autorizzato
  • Oggetto spostato

"L'oggetto spostato" messaggio era più interessante perché si diceva che l'oggetto"" (il nostro servizio SSRS) aveva "spostato" a login. aspx. Questo chiaramente significava che abbiamo avuto qualche problema di autenticazione.

Alla fine mi sono accorto che avevo segnalibro a blog entry di Robert Garret che descritto come richiamare un servizio web di uso generale WSS/MOSS vivono all'interno di un ambiente di FBA. Nota che io non riesco a collegare direttamente a questo articolo (come di 06/09/08) perché si vuole autenticare. Il link che fornisco, si raggiunge un "tutti i messaggi" vista e si può individuare l'articolo specifico cercando "Accessing MOSS Web Services utilizzando l'autenticazione di base".

Ecco il codice che ha lavorato per noi:

ReportingService2006 rs = null; 
// Autenticare Autenticazione auth = Nuovo Autenticazione(); 
auth.URL = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
Nuovo CookieContainer();
LoginResult risultato = auth.Login("userid", "password");
Se (risultato.ErrorCode = = LoginErrorCode.NoError) 
{
// Nessun errore, in modo da ottenere i cookie.
CookieCollection cookies = auth.GetCookies(Nuovo URI(auth.URL));
Cookie authCookie = cookies[risultato.CookieName];
RS =
Nuovo ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
Nuovo CookieContainer();
RS.CookieContainer(authCookie);
}
provare
{
  RS.CreateSubscription(relazione, extSettings, desc, eventType, matchData, parameters1);
}
catture (Exception ex)
{
  Console. WriteLine(ex.ToString());
}

Interpretare le cose a lavorare come questo:

  • Da parte nostra web ha bisogno di dial-up il servizio di autenticazione e dire, "Hey, Tony, si tratta di me!".
  • Servizio di autenticazione risponde dicendo:, "Hey, Io ti conosco. Come stanno i bambini? Qui è un token."
  • Chiamiamo il servizio SSRS e dire, "Tony mi ha inviato, qui è il token."

</fine>

Iscriviti al mio blog.

Lasciare una risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *