從 WSS 援引 SSRS Web 服務 / FBA 環境裡的苔蘚

我們需要調用"CreateSubscription" 在 FBA 主辦 SSRS web 服務方法管理 MOSS 環境從自訂 web 部件. 我們一直聽到的變化:

  • 401: 未授權
  • 移動物件

移動的"物件" 消息是最有趣的因為它說"物件" (我們 SSRS 服務) 移動了"" 到 login.aspx. 這顯然意味著我們有某種身份驗證問題.

我最終意識到我有 書簽博客條目 由羅伯特 · 閣樓,描述了如何調用 FBA 環境內生活的一般用途 WSS/苔蘚 web 服務. 請注意,我不能直接連結到這篇文章 (作為的 06/09/08) 因為它想要進行身份驗證. 我提供的連結將帶您到"所有職位" 視圖,你可以通過搜索"訪問 MOSS Web 服務使用基於表單的身份驗證"找到特定的文章.

下面是曾為我們工作的代碼:

ReportingService2006 rs = 則為 null; 
// 進行身份驗證 身份驗證 auth = 新增功能 身份驗證(); 
驗證Url = "http://URL/_vti_bin/Authentication.asmx";
驗證CookieContainer =
新增功能 CookieContainer();
LoginResult 結果 = 驗證登錄("使用者 id", "密碼");
如果 (結果。錯誤代碼 = = LoginErrorCode.NoError) 
{
// 沒有錯誤, 所以得到曲奇餅.
CookieCollection 餅乾 = 驗證CookieContainer.GetCookies(新增功能 Uri(驗證Url));
Cookie authCookie = 曲奇餅[結果。CookieName];
rs =
新增功能 ReportingService2006();
rs。Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs。CookieContainer =
新增功能 CookieContainer();
rs。CookieContainer.Add(authCookie);
}
請嘗試
{
  rs。CreateSubscription(報告, extSettings, desc, 事件種類, matchData, parameters1);
}
捕獲 (Ex 的異常)
{
  Console.WriteLine(前女友。Message.ToString());
}

我解釋一件事,這樣的工作:

  • 我們的 web 部件需要撥號的身份驗證服務和說, "嘿,你, 托尼, 這就是我!".
  • 身份驗證服務的答覆說, "嘿,你, 我知道你. 孩子們如何?? 這裡是一個權杖。"
  • 我們打電話給 SSRS 服務和說, "托尼寄給我, 這裡是的標記。"

</結束>

訂閱我的博客.

Technorati 標籤: , ,

留言

您的電子郵件地址不會被公開. 必需的地方已做標記 *