Короткая и приятная версия: существует ли один метод веб-службы, который бы возвращал имена всех доступных отчетов и параметры каждого отчета?
Мой веб-код (C # / MVC) подключен к веб-службе SSRS, и я могу получать отчеты с помощью этих служб.
Я знаю, что могу получить список доступных отчетов, таких как:
var rService = new ReportingService2005
{
Url = @"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",
Credentials = System.Net.CredentialCache.DefaultCredentials
};
var reportList = rService.ListChildren(@"/Blah", true);
Результат ListChildren () дает много информации, но не перечисляет параметры для каждого отчета. Чтобы получить параметр для отчета, мне нужно сделать отдельный вызов:
string historyId = null;
ReportService.ParameterValue[] values = null;
ReportService.DataSourceCredentials[] credentials = null;
var parameters = rService.GetReportParameters(@"/Blah/" + reportName, historyId, true, values, credentials);
Поэтому, если я хочу получить все доступные отчеты и их параметры, мне нужно будет просмотреть результаты ListChildren, что означает, что я буду делать вызов веб-службы для каждого из этих отчетов.
Есть ли лучший способ сделать это?