Web services 如何使用web服务将文档移动到SharePoint库中的不同文件夹

Web services 如何使用web服务将文档移动到SharePoint库中的不同文件夹,web-services,sharepoint,move,document-library,Web Services,Sharepoint,Move,Document Library,我正在拼命地尝试将文档库中的文档从一个文件夹移动到另一个文件夹(是的,在同一个库中)。所有这些都需要通过web服务来完成 我使用UpdateListItems方法对XML进行批处理,如下所示: <Batch> <Method ID="1" Cmd="Update"> <Field Name="ID">14</Field> <Field Name="ServerUrl">personal/blabla/Documents

我正在拼命地尝试将文档库中的文档从一个文件夹移动到另一个文件夹(是的,在同一个库中)。所有这些都需要通过web服务来完成

我使用UpdateListItems方法对XML进行批处理,如下所示:

<Batch>
 <Method ID="1" Cmd="Update">
    <Field Name="ID">14</Field>
    <Field Name="ServerUrl">personal/blabla/Documents/CT-5/image.jpg</Field>
 </Method>
</Batch>

14
personal/blabla/Documents/CT-5/image.jpg
我尝试过更新不同的字段,而不是上面的服务器URL-没有一个是幸运的


谢谢你的提示…

我不知道;我不认为使用现成的web服务就可以做到这一点。不过,您应该编写自己的web服务并将其部署到sharepoint


也可以使用两个web服务:web服务和列表web服务。首先复制,然后使用列表服务删除原件

是的,按照科林的建议使用复制Web服务。这是OOB Web服务的唯一方法。但请注意,您将丢失所有作者和日期信息以及任何版本历史记录。复制WS不保留此信息


如果这是一个节目停止,你可能想看看。它还附带了一个Web服务,允许您在不丢失任何元数据的情况下复制或移动文档、项目和文件夹。

因此,我最终找到了一种使用WebDAV解决此问题的方法。很抱歉,这个问题提出得不正确-我真的不需要web服务,而是需要从远程ASP.NET站点可以使用的任何服务。以下是移动文件的(简单)代码:

WebRequest lRequest = WebRequest.Create(sourceUrl);
lRequest.Credentials = CredentialCache.DefaultCredentials;
lRequest.Method = "MOVE";

lRequest.Headers.Add("Destination", targetUrl);
var lResponse = lRequest.GetResponse();
移动文档和文件夹
1.
/共享文档/MyFile.txt
/共享文档/MyFolder/MyFile.txt

虽然这不是我想听到的,但显然它看起来像是现实…:-这种方法能保存作者、日期等吗?
Move documents and Folder
<Batch OnError='Continue' RootFolder='/Shared Documents/'>
   <Method ID='1' Cmd='Move'>
      <Field Name='ID'>1</Field>
      <Field Name='FileRef'>/Shared Documents/MyFile.txt</Field>
      <Field Name='MoveNewUrl'>/Shared Documents/MyFolder/MyFile.txt</Field>
   </Method>
</Batch>