WSS SSRS 调用 Web 服务 / 青苔在 FBA 环境

我们需要调用"CreateSubscription" 在 FBA 主办 SSRS web 服务方法管理 MOSS 环境从自定义 web 部件. 我们一直听到的变化:

  • 401: 未授权
  • 移动对象

移动的"对象" 消息是最有趣的因为那只说"对象" (我们 SSRS 服务) "搬了" 到 login.aspx. 这显然意味着我们有某种身份验证问题.

我最终意识到了 书签博客条目 由罗伯特 · 阁楼,描述了如何调用 FBA 环境内生活的一般用途 WSS/苔藓 web 服务. 请注意,我不能直接链接到这篇文章 (作为的 06/09/08) 因为它想要进行身份验证. 我提供的链接将带您到"所有职位" 视图,并可通过搜索"使用基于表单的身份验证的访问苔藓 Web 服务"来查找特定的文章.

以下是为我们工作的代码:

ReportingService2006 rs = 则为 null; 
// 进行身份验证 身份验证身份验证 = 新增功能 身份验证(); 
验证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, 降序, 事件类型, matchData, parameters1);
}
赶上 (Ex 异常)
{
  Console.WriteLine(前女友。Message.ToString());
}

我解释工作像这样的事情:

  • 我们的 web 部件需要拨号身份验证服务和说, "嘿,你, 托尼, 这就是我!".
  • 身份验证服务的答复说, "嘿,你, 我知道你. 孩子们如何?? 这里是一个令牌。"
  • 我们打电话给 SSRS 服务和说, "托尼寄给我, 这里是的标记。"

</结束>

订阅我的博客.

Technorati 标签: , ,

留言

您的电子邮件地址不会被公开. 必需的地方已做标记 *