Повикувајќи се SSRS Веб Услуги Од WSS / Мос во FBA животна средина

We needed to invoke the "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: Не се овластени
  • Објект Преместен

The "object moved" message was most interesting because it was saying that the "object" (нашите SSRS услуга) had "moved" 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" view and you can locate the specific article by searching for "Accessing MOSS Web Services using Forms Based Authentication".

Еве го кодот што работеле за нас:

ReportingService2006 rs, со грејс = нула; 
// Идентификувате Автентикација наместам = нови Проверка(); 
auth.Url = "HTTP://Рачно / _vti_bin / Authentication.asmx";
auth.CookieContainer =
нови CookieContainer();
LoginResult резултат = auth.Login("userid", "password");
ако (result.ErrorCode == LoginErrorCode.NoError) 
{
// Нема грешка, па се колачиња.
CookieCollection колачиња = auth.CookieContainer.GetCookies(нови Uri(auth.Url));
Колаче authCookie = колачиња[result.CookieName];
rs, со грејс =
нови ReportingService2006();
rs.Url =
"HTTP://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
нови CookieContainer();
rs.CookieContainer.Add(authCookie);
}
обидете
{
  rs.CreateSubscription(пријавите, extSettings, опис, Eventtype, matchData, parameters1);
}
фати (Исклучок екс)
{
  Console.WriteLine(ex.Message.ToString());
}

Јас го протолкува работи кои треба да работат вака:

  • Нашата веб дел треба да dial up за проверка услуга и да каже, "Hey, Tony, тоа е ме!".
  • Проверка услуга одговори велејќи, "Hey, I know you. How are the kids? Here’s a token."
  • Ние го нарекуваме до SSRS услуга и да каже, "Tony sent me, тука е знак."

</крајот>

Да се ​​претплатите на мојот блог.

Остави Одговори

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *