CopyIntoItemsLocal is not returning any results

I am using the /_vti_bin/Copy.asmx service to copy a file from one location to another location. My destination includes a number of folders ( yes I know folders is a bad idea).

To call the service I’m using Nintex, but the same issue could happen with other tools/code.

I specified a service account to connect to the service.

I created my soap:

 

<?xml version=”1.0″ encoding=”utf-8″?><br
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”  xmlns:soap=”http://schemas.microsoft.com/sharepoint/soap/”    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”     xmlns:xsd=”http://www.w3.org/2001/XMLSchema”&gt;
<soapenv:Body>
<soap:CopyIntoItemsLocal>      <soap:SourceUrl>https://MyCorp.co.uk/practices/subsite/int/km/submission/TestDocument.txt</soap:SourceUrl&gt;
<soap:DestinationUrls>
<soap:string>https://MyCorp.co.uk/practices/subsite/int/km/newsubmission/SubFolder/AndAnotherFolder/TestDocument.txt</soap:string&gt;
</soap:DestinationUrls>
</soap:CopyIntoItemsLocal>
</soapenv:Body>
</soapenv:Envelope>

 

I am getting the right result back that I want:

 

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xmlns:xsd=”http://www.w3.org/2001/XMLSchema”&gt;
<soap:Body>
<CopyIntoItemsLocalResponse xmlns=”http://schemas.microsoft.com/sharepoint/soap/”&gt;
<CopyIntoItemsLocalResult>0</CopyIntoItemsLocalResult>
<Results>
<CopyResult ErrorCode=”Success” DestinationUrl=”https://MyCorp.co.uk/practices/subsite/int/km/submissions/TestDocument.txt&#8221; />
</Results>
</CopyIntoItemsLocalResponse>
</soap:Body>
</soap:Envelope>

 

But the document isn’t copied … or is it?

The Solution

I logged in as the service account and my file was there. Not checked in though!
One of the fields has some field validation specified and when the file is copied the validation fails. Rather than throwing an error (SharePoint, why can’t you error here, now that it would be useful?)

I gave the field a default value (so that the validation succeeds) and my document appears.

Advertisements