1

我们已从 SSRS 2008 实例升级到 SSRS 2008 R2。这是就地升级,因此报告和数据源被带到新实例。

从应用程序端(asp.net),我们使用SSRS Webservice(ReportService2005.asmx)进行ListChildren、GetPolicies等调用来处理一些特定于应用程序的场景。

但是,在升级到 R2 后,对 ListChildren 的 Web 服务调用失败并显示“401, unathorized”消息。

ReportingService2005 reportService = new ReportingService2005();

                reportService.Url = ConfigurationManager.AppSettings["ReportServerWebserviceUrl"];

                reportService.Credentials = new NetworkCredential(
                       ConfigurationManager.AppSettings["ReportViewerUser"],
                    ConfigurationManager.AppSettings["ReportViewerPassword"],
                    ConfigurationManager.AppSettings["ReportViewerDomain"]);
                reportService.PreAuthenticate = true;                

                SSRSReportServer.CatalogItem[] _reportItems = new SSRSReportServer.CatalogItem[] { };

_reportItems = reportService.ListChildren(ConfigurationManager.AppSettings["RootFolder"], true);

asp.net 应用程序中的代码如上。上面 NetworkCredential 中使用的帐户处于活动状态,我已检查以确保该帐户没有被锁定。

该帐户设置为代码尝试访问的 SSRS 文件夹上的内容管理器。

当我浏览到http://server/reportserver/reportservice2005.asmx - 我能够看到 web 服务的 wdsl。

总体而言,这是工作代码,当指向 Sql2008 SSRS 实例时 - 并且 401 错误显示在 Sql2008 R2 实例上。

有任何想法吗?

4

1 回答 1

0

您的 Web 服务器是否设置为使用 SQL2008 实例而不是 R2 实例的委托?由于您在 Web 服务器上设置了凭据,这可能不是问题,但这是一个相当普遍的问题。

于 2010-08-05T14:50:44.977 回答