Передача файлов с контролем версий с помощью SharePoint и SOAP

Я пишу приложение .Net C #, которое будет выполнять вызовы SOAP в настроенную базу данных SharePoint на основе определенных триггеров из другой базы данных SQL.

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

SOAP - лучший способ для меня взаимодействовать с SharePoint, но если это можно легко сделать с помощью другого метода из моей среды C #, я готов изучить его.

Дополнительные баллы, если у кого-то есть способ переместить всю папку и ее содержимое из одного списка в другой без потери истории документов и т. Д.

Спасибо


Редактировать:

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

CopyWebReference.Copy copyservice = new CopyWebReference.Copy();
copyservice.Credentials = System.Net.CredentialCache.DefaultCredentials;

CopyWebReference.CopyResult[] results = { new CopyWebReference.CopyResult() };

uint ret = copyservice.CopyIntoItemsLocal(source, new string[] { dest }, out results);

В настоящее время я изучаю возможность использования Sites.ExportWeb и ImportWeb для повторного родителя всей папки, я задал еще один вопрос об этом в другом месте, имел ли кто-нибудь успех с любым из этих методов?


person keith    schedule 07.04.2009    source источник


Ответы (2)


Задумывались ли вы об использовании WebDAV? Должна быть простая операция с командой MOVE

person csjohnst    schedule 12.06.2009

http://www.sharepointproducts.com/products/default.aspx имеет полную веб-версию Поддержка API службы для копирования и перемещения. Также есть хороший обзор того, что можно сделать с WSS, MOSS и продуктом CopyMove.

person anchorpoint    schedule 07.04.2009
comment
Хорошее предложение, но если я могу помочь, я бы не стал усложнять процесс развертывания, чтобы сэкономить время программирования. Мне нужно написать это приложение только один раз, в то время как ожидается, что оно будет развернуто примерно на 50 различных сайтах! Вы знаете какой-нибудь другой способ сделать это? - person keith; 08.04.2009