Invoking SSRS վեբ ծառայություններ From WSS / MOSS է FBA միջավայրում

Մենք պետք է վկայակոչել է CreateSubscription" 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: Ոչ լիազորված
  • Object տեղափոխվել

The "օբյեկտ է տեղափոխվել" ուղերձն այն էր, շատ հետաքրքիր, որովհետեւ ասում էր, որ «օբյեկտը" (մեր SSRS ծառայություն) էր "տեղափոխվել" to login.aspx. This clearly meant we had some kind of authentication problem.

Ես վերջապես հասկացա, որ ես Բլոգի բլոգ գրառում 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 (դրությամբ 06/09/08) because it wants to authenticate. The link I provide brings you to an "all posts" դիտել եւ դուք կարող եք տեղադրել նաեւ հատուկ հոդված - ի համար "Մուտք դեպի MOSS վեբ Ծառայություններից օգտվելու ձեւերը վրա վավերացման»:.

Ահա կոդը, որը աշխատել է մեզ համար:

ReportingService2006 RS = զրո; 
// Իսկությունը հաստատել Authentication auth = նոր Authentication(); 
auth.Url = "http :/://URL / _vti_bin / Authentication.asmx";
auth.CookieContainer =
նոր CookieContainer();
LoginResult արդյունք = auth.Login("Userid", "Գաղտնաբառ");
եթե (result.ErrorCode == LoginErrorCode.NoError) 
{
// Ոչ սխալ, որպեսզի ստանալ բլիթները.
CookieCollection բլիթները Դուք auth.CookieContainer.GetCookies(նոր Uri(auth.Url));
Cookie authCookie Դուք Տեղեկանիշ[result.CookieName];
RS =
նոր ReportingService2006();
rs.Url =
"http :/://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
նոր CookieContainer();
rs.CookieContainer.Add(authCookie);
}
փորձել
{
  rs.CreateSubscription(հաշվետվություն, extSettings, desc, eventType, matchData, parameters1);
}
բռնել (Բացառություն են նախկին)
{
  Console.WriteLine(ex.Message.ToString());
}

Ես մեկնաբանել բաներ աշխատել այսպես:

  • Մեր վեբ մասը պետք է հավաքել մինչեւ իսկությունը ստուգելու ծառայության եւ ասել,, "Hey, Արիստոկրատական, դա ինձ!".
  • Իսկությունը ստուգելու սպասարկման պատասխան ասելով,, "Hey, I know you. How are the kids? Here’s a token."
  • Մենք կոչ ենք անում մինչեւ SSRS ծառայության եւ ասել,, "Tony ինձ, Ահա կտրոն."

</վերջ>

Անդամագրվել իմ բլոգում.

Ավելացնել կարծիք

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու. Պահանջվող դաշտերը նշված են աստղանիշով *