When working with UpdateListItems via lists.asmx, it’s easy to generate the error:
Invalid URL Parameter.
The URL provided contains an invalid Command or Value. Please check the URL again.
You can get this error when you forget to include ID in the the list of fields to update. This, like a lot of these SP web services, is a bit counterintuitive since you need to include the ID in the ID attribute of the <Method> element. And you’re not updated ID and probably never want to in the first place.
This SOAP envelope works:
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <soapenv:Body> <UpdateListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName> <updates> <Batch OnError="Continue"> <Method ID="1" Cmd="Update"> <Field Name="CooperativeLock">locked!</Field> <Field Name="ID">1</Field> </Method> </Batch> </updates> </UpdateListItems> </soapenv:Body> </soapenv:Envelope>
If you strip out the ID field reference then you’ll get the annoying “Invalid URL parameter” message.
</end>
Follow me on Twitter at http://www.twitter.com/pagalvin