2009-08-20 6 views
3

Je tente désespérément de déplacer un document d'une bibliothèque de documents d'un dossier à un autre (oui, dans la même bibliothèque). Tout cela est nécessaire à travers les services web.Comment faire pour déplacer un document vers un autre dossier dans la bibliothèque SharePoint avec les services Web

J'utilise la méthode UpdateListItems avec XML batching comme ceci:

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

J'ai essayé de mettre à jour les différents domaines au lieu de ServerUrl ci-dessus - pas avec de la chance ...

Merci pour tout conseils ...

+0

[? Comment un utilisateur final peut se déplacer un dossier avec l'interface Web pour SharePoint Server 2010] (http://sharepoint.stackexchange.com/q/ 46853/11050) –

Répondre

1

J'ai finalement trouvé un moyen de contourner ce problème en utilisant WebDAV. Et désolé la question a été posée de manière incorrecte - je n'avais vraiment pas besoin de services web, plutôt tout ce qui était disponible pour moi à utiliser à partir d'un site ASP.NET distant. Voici le (simple) code pour avoir un fichier déplacé:

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

lRequest.Headers.Add("Destination", targetUrl); 
var lResponse = lRequest.GetResponse(); 
+0

Est-ce que cette méthode garde l'auteur, la date, etc? –

1

Je ne pense pas que cela soit possible avec les services Web prêts à l'emploi. Vous pouvez cependant écrire votre propre service Web et le déployer sur sharepoint.

Il est également possible d'utiliser deux services Web: le service Web copy et le service Web de listes. Faites d'abord une copie, puis utilisez le service Listes pour supprimer l'original.

+0

Bien que ce ne soit pas ce que je voulais entendre, il ressemble évidemment à la réalité ...: -O – Rashack

1

Oui, utilisez le service Web de copie comme le suggère Colin. C'est le seul moyen avec les services Web OOB. Mais sachez que vous perdrez toutes les informations sur l'auteur et la date ainsi que sur l'historique des versions. La copie WS ne conserve pas cette information.

Si c'est un bouchon de spectacle, vous pouvez jeter un oeil à CopyMove for SharePoint. Il est également fourni avec un service Web qui vous permet de copier ou de déplacer des documents, des éléments et des dossiers sans perte de métadonnées.

Questions connexes