views:

899

answers:

2

I have a custom definition for a document library and I am trying to rename documents within the library using only the out of the box web services. Having defined a view with the "Name" field supplied and trying the "LinkFilename", my calls to rename a file are respectively returning a failure or ignoring the new value.

How do I rename a file using the SharePoint web services?

A: 

You should be able to use UpdateListItems. Here's an example.

Per comment: So the actual question is "how do I call a web service?" Take a look a this example. Some more good walkthroughs here.

JP Alioto
Those references don't actually tell you how to rename a file, merely describe the webservice. I formulated this question after reading those documents.
Nat
+4  A: 

Use the Lists.UpdateListItems web method. The XML request should look like:

<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0">
   <Method ID="1" Cmd="Update">

      <!-- List item ID of document -->
      <Field Name="ID">2</Field>

      <!-- Full URL to document -->
      <Field Name="FileRef">http://Server/FullUrl/File.doc&lt;/Field&gt;

      <!-- New filename -->
      <Field Name="BaseName">NewName</Field>

   </Method>
</Batch>
Alex Angas
Hmmm, that would seem to be the case, I would probably to change the "name" property of the underlying list item though. My experiment with the MoveTo, kinda puts the file into some special SharePoint file purgatory. (i.e. not visible to web front end). I am slightly "over" these little "SharePoint suprises".
Nat
My apologies - I was wrong! Answer corrected.
Alex Angas