1

SSRS サーバーからリストにレポート名を読み込もうとしています。問題なく Web 参照を作成し、IE を介して Web サービスにアクセスできます。

コードを実行すると、503 エラー: サーバーが利用できません。権限の問題かもしれないと思いましたが、管理者の資格情報を無駄に使用しました。例外は、行 "items = service.ListChildren("/BRADS", true) で発生します。

    ReportService.ReportingService2005 service;

    public ReportsRepository()
    {
        service = new ReportService.ReportingService2005();
        //string rptUserID = ConfigurationManager.AppSettings["rptUser"];
        //string rptPassword = ConfigurationManager.AppSettings["rptPwd"];
        //System.Net.NetworkCredential cred = new System.Net.NetworkCredential(rptUserID, rptPassword);
        //service.Credentials = cred;
        service.Credentials = System.Net.CredentialCache.DefaultCredentials; 
    }


    IEnumerable<DataModels.ReportingService> IReportsRepository.GetReports()
    {
        CatalogItem[] items;
        DataModels.ReportingService rpt = null;
        List<DataModels.ReportingService> lstReports = null;
        try
        {
            items = service.ListChildren("/BRADS", true);
            if (items != null)
            {
                lstReports = new List<DataModels.ReportingService>();
                foreach (CatalogItem item in items)
                {
                    if (item.HiddenSpecified == false && item.Type == ItemTypeEnum.Report)
                    {
                        rpt = new DataModels.ReportingService();
                        rpt.ReportName = item.Name;
                        rpt.ReportPath = item.Path;
                        rpt.Category = item.Description;
                    }
                    lstReports.Add(rpt);
                }
            }
        }

        catch (Exception ex)
        {
            throw ex;
        }

        return lstReports;

どんなアイデアでも大歓迎です。ありがとうございました。

4

1 に答える 1

0

service.Urlプロパティを有効なRS2005エンドポイントに設定する必要があります(つまりhttp://servername/reportserver/reportservice2005.asmx

于 2013-02-20T02:49:11.670 に答える