1

SSRS 2008 インスタンスから SSRS 2008 R2 にアップグレードしました。これはインプレース アップグレードであったため、レポートとデータソースは新しいインスタンスに引き継がれました。

アプリケーション側 (asp.net) からは、SSRS Web サービス (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 インスタンスを指している場合に機能するコードであり、Sql2008 R2 インスタンスに 401 エラーが表示されます。

何か案は?

4

1 に答える 1

0

R2 インスタンスではなく、SQL2008 インスタンスの委任を使用するように Web サーバーが設定されていますか? Web サーバーで資格情報を設定するので、これは問題にならないかもしれませんが、かなり一般的な問題です。

于 2010-08-05T14:50:44.977 に答える