Como mover documento para pasta diferente na biblioteca do SharePoint com serviços web
-
19-09-2019 - |
Pergunta
Eu estou tentando desesperadamente para mover um documento em uma biblioteca de documentos de uma pasta para outra (sim, dentro da mesma biblioteca). Tudo isso é necessário para ser feito através de serviços web.
Eu estou usando o método UpdateListItems com batching XML como este:
<Batch>
<Method ID="1" Cmd="Update">
<Field Name="ID">14</Field>
<Field Name="ServerUrl">personal/blabla/Documents/CT-5/image.jpg</Field>
</Method>
</Batch>
Eu tentei atualizar vários campos em vez de ServerUrl acima - nenhum com sorte ...
Obrigado por todas as dicas ...
Solução
Então, eventualmente eu encontrei uma maneira de contornar isso usando WebDAV. E desculpe a pergunta foi feita de forma incorreta - serviços web Eu realmente não precisa, em vez tudo o que estava disponível para mim usar de um site ASP.NET remoto. Aqui está o código (simples) para ter um arquivo movido:
WebRequest lRequest = WebRequest.Create(sourceUrl);
lRequest.Credentials = CredentialCache.DefaultCredentials;
lRequest.Method = "MOVE";
lRequest.Headers.Add("Destination", targetUrl);
var lResponse = lRequest.GetResponse();
Outras dicas
Eu não, não acho que isso é possível com a saída dos serviços de caixa web. Yould escrever o seu próprio serviço de web embora e implantar essa para o SharePoint.
O que também é uma possibilidade é usar 2 serviços web: copiar serviço web eo serviço de listas web. Primeiro faça uma cópia, em seguida, utilizar o serviço de listas para excluir o original.
Sim, o uso da Web do Serviço de Cópias como Colin sugere. É a única maneira com os serviços OOB Web. Mas apenas estar ciente de que você vai perder toda a informação de autor e data, bem como qualquer histórico de versões. Será que a cópia WS não preservar esta informação.
Se este é um show rolha, você pode querer dar uma olhada CopyMove para SharePoint . Ele também vem com um serviço Web que permite copiar ou mover documentos, itens e pastas sem perda de quaisquer metadados.