Короткий и сладкий вариант: существует ли один метод веб-службы, который бы возвращал имена всех доступных отчетов и каждый параметр отчета?
У меня есть мой веб-код (С#/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, что означает, что я буду делать вызов веб-службы для каждого из этих отчетов.
Есть ли лучший способ сделать это?