使用SharePoint和SOAP传输具有版本控制的文件

时间:2009-04-07 06:40:40

标签: c# sharepoint soap

我正在编写一个.Net C#应用程序,它将根据来自另一个SQL数据库的某些触发器对已配置的SharePoint数据库进行SOAP调用。

我有一个问题,我需要将文档从列表中的文件夹传输到另一个列表中的另一个文件夹。每个文档都将启用版本历史记录,我不需要在传输中丢失。

SOAP是我与SharePoint交互的最佳方式,但如果可以通过我的C#环境中的其他方法轻松完成,我愿意调查它。

如果某人有办法将整个文件夹和内容从一个列表移动到另一个列表,而不会丢失文档历史记录等,那么

额外点。

由于


编辑:

我查看了Copy webservice,可以在支持版本控制的列表之间单独移动文件,但不幸的是,源文件的版本控制没有被复制。 如果有人有兴趣,请在下面编写代码

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重新整合整个文件夹,我在其他地方问过另一个问题,有没有人在这些方法中取得任何成功?

2 个答案:

答案 0 :(得分:1)

您是否考虑过使用WebDAV?应该是使用MOVE命令的简单操作

答案 1 :(得分:0)

http://www.sharepointproducts.com/products/default.aspx具有对Copy and Move的完整Web Service API支持。还可以很好地概述WSS,MOSS和CopyMove产品可以做些什么。