报告服务器凭据和缺少端点例外

时间:2011-10-19 20:19:42

标签: asp.net reporting-services reportviewer

实际上我需要的是一步一步的指导,但无论如何..

我必须使用ASP.NET报告vievew在网站上显示一些rdl报告,并为Reporting Services执行所有必要的配置。页面用户不应处理任何授权。

以下是我的报告查看器代码:

rprtView.ServerReport.ReportServerCredentials = new ReportServerCredentials();
rprtView.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
rprtView.ServerReport.ReportServerUrl = new Uri(@"http://mydomain/reports");
rprtView.ServerReport.ReportPath = @"/MyReports/PurchaseOrder";
rprtView.ShowParameterPrompts = false;

ReportParameter[] parameters = new ReportParameter[1];
parameters[0] = new ReportParameter();
parameters[0].Name = "OrderNumber";
parameters[0].Values.Add(orderNumber);

rprtView.ServerReport.SetParameters(parameters);
rprtView.ServerReport.Refresh();

这是我对IReportServerCredentials的重载

public class ReportServerCredentials : IReportServerCredentials
{
    public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }

    public WindowsIdentity ImpersonationUser
    {
        get { return null; }
    }

    public ICredentials NetworkCredentials
    {
        get { return new NetworkCredential("myUserName", "myPassword"); }
    }    
}

我可以使用“myUserName”和“myPassword”登录到“http:// mydomain / reports”,即SSRS的默认网站(我不确定这是否相关)。我仍然在上面的SetParameters()方法中得到MissingEndPoint异常。它说:

“尝试连接到报表服务器失败。请检查您的连接信息,并且报表服务器是兼容版本。”

我还负责为此方案配置Reporting Services以进行必要的配置,我听说此问题与SSRS中的配置文件有关,但我不知道在其中写什么。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

为rprtView.ServerReport.ReportServerUrl提供的字符串应该用于Report Server服务,而不是Report Manager应用程序。

改变这个:

rprtView.ServerReport.ReportServerUrl = new Uri(@"http://mydomain/reports");

到此:

rprtView.ServerReport.ReportServerUrl = new Uri(@"http://mydomain/reportserver");

This page有一些关于Report Manager界面,Report Server Web服务以及它们之间关系的高级信息。