2009-04-24 4 views

ответ

2

Веб-метод ListChildren веб-службы ReportingService2005 можно использовать. Он вернет список элементов CatalogItems, к которым может обратиться текущий пользователь. Затем удалите элементы, которые не являются отчетами.

List<CatalogItem> result = new List<CatalogItem>(); 
result.AddRange(ListChildren(SOME_PATH_BLAH_BLAH_BLAH, true)); 
result.RemoveAll(delegate(CatalogItem item) 
           { 
            return item.Type != ItemTypeEnum.Report; 
           }); 

От http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.listchildren.aspx -

Метод ListChildren возвращает только дочерние элементы, которые пользователь имеет разрешение на просмотр. Возвращаемые элементы могут не представлять полный список дочерних элементов указанного родительского элемента.

+0

Знаете ли вы, какие базовые разрешения/роли необходимы пользователю для доступа к веб-службам? При вызове пользователей с базовыми разрешениями для отчетов возникает ошибка, указывающая, что для выполнения этой операции недостаточно разрешений. ' – JoeBrockhaus