SharePoint 2007: как проверить, существует ли папка в списке с помощью веб-служб? - PullRequest
1 голос
/ 19 января 2010

Используя веб-сервисы SharePoint 2007 или даже Webdav, как я могу проверить, существует ли папка в списке (не в библиотеке документов) в SharePoint.

Я также хотел бы проверить подпапки ...

Кто-нибудь имеет представление о том, как это делается? Я спросил Microsoft, и их официальная позиция заключается в том, что Microsoft не предоставляет никакой документации по этому вопросу. поэтому любая помощь будет приветствоваться ...

Заранее спасибо ...

У меня есть этот код, который создает папку, но я не уверен, как ее изменить, чтобы проверить, существует ли папка, также даже не уверен, будет ли это работать с подпапками ...

private void CreateFolderUsingWebService(string listName, string folderName)
        {

            //Check Databox Folder Exists
            //string folderAddress = siteAddress + @"/lists/" + listAddress + @"/" + folderName;
            //wsDws.CreateFolder(folderAddress); 
            var doc = new XmlDocument();
            XmlElement batch = doc.CreateElement("Batch");
            string item = "<Method ID=\"1\" Cmd=\"New\">" +
                "<Field Name=\"ID\">New</Field>" +
                "<Field Name=\"FSObjType\">1</Field>" +
                "<Field Name=\"BaseName\">" + folderName + "</Field></Method>";

            batch.SetAttribute("ListVersion", "1");
            //batch.SetAttribute("ViewName", "{GUID of View, including braces}");
            batch.InnerXml = item;

            wsLists.UpdateListItems(listName, batch);
        }

Ответы [ 2 ]

1 голос
/ 19 января 2010

Хорошо - эта информация может помочь следующему разработчику SharePoint:

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

Я не удосужился добавить проверку для ifExists, потому что кажется, что она НЕ создает дубликаты или завершается ошибкой, если каталог уже существует. Я знаю, что это не очень хорошее решение, но у меня просто нет 2-3 недель, чтобы изучить, как это сделать правильно, поэтому, если у вас есть какие-либо предложения, комментарии приветствуются.

Наконец, любое представительство Microsoft, читающее это, может подумать, почему на самом деле нет хорошей документации по этому вопросу, как от MS? Ммммм

Я зашел так далеко, что скачал SDK MOSS Web Services, и он содержит 1 очень расплывчатый пример использования 1 функции в веб-сервисе Lists. Этого просто недостаточно для тех, кто пытается собрать надежные решения в Мосс. Нам нужно больше документации, пожалуйста ...

1 голос
/ 19 января 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...