Учетные данные сервера отчетов и исключение отсутствующей конечной точки - PullRequest
2 голосов
/ 20 октября 2011

На самом деле мне нужно было пошаговое руководство, но в любом случае ..

Мне нужно показать некоторые отчеты rdl на веб-сайте, используя отчет vievew ASP.NET, и выполнить все необходимые настройки дляСлужбы отчетности.Пользователи страницы не должны иметь дело с ЛЮБОЙ авторизацией.

Вот мой код для просмотра отчетов:

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"); }
    }    
}

Я могу войти на "http://mydomain/reports", веб-сайт по умолчанию SSRS, используя" myUserName "и" myPassword "(я не уверен, если это связано). Тем не менее я получаю исключение MissingEndPoint в методе SetParameters () вышеОн говорит:

"Попытка подключиться к серверу отчетов не удалась.Проверьте информацию о подключении и убедитесь, что сервер отчетов является совместимой версией. "

Я также отвечаю за настройку служб Reporting Services для необходимой конфигурации для этого сценария, и я слышал, что эта проблема связана с файлами конфигурациив SSRS, но я не знаю, что в них писать. Любая помощь очень ценится!

1 Ответ

3 голосов
/ 20 октября 2011

Строка, предоставленная для rprtView.ServerReport.ReportServerUrl, должна относиться к службе сервера отчетов, а не к приложению диспетчера отчетов.

Изменить это:

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

к этому:

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

На этой странице содержится некоторая информация высокого уровня об интерфейсе диспетчера отчетов, веб-службе сервера отчетов и о том, как они связаны.

...