Using only literal SOAP calls, is it possible to use RecordsRepository.SubmitFile to submit a file somewhere already on the Sharepoint Site? Currently I have code that can use Copy.CopyIntoItems to upload a doc into the dropoff library and fill all the necessary metadata fields including content type, but it doesn't seem to want to route into the destination library.
Do I have to re-submit the file as a byte stream to use this method? I would have to download the document, convert to base64 and reupload which doesn't seem ideal.
So now I tried using RecordsRepository.SubmitFile but all I ever get is a NotFound error. I followed this example. The request I send looks like this:
<SubmitFile xmlns="http://schemas.microsoft.com/sharepoint/soap/recordsrepository/">
<fileToSubmit />
<properties>
<RecordsRepositoryProperty>
<Name>ID</Name>
<Value>120</Value>
<Type>Counter</Type>
<Other />
</RecordsRepositoryProperty>
<RecordsRepositoryProperty>
<Name>ContentTypeId</Name>
<Value>
0x010100F61F2571157CF04CA067909F68034A00004471681EEFE6FD4EA87735A0F54C2908</Value>
<Type>ContentTypeId</Type>
<Other />
</RecordsRepositoryProperty>
<RecordsRepositoryProperty>
<Name>ContentType</Name>
<Value>Routing Documents</Value>
<Type>Text</Type>
<Other />
</RecordsRepositoryProperty>
<RecordsRepositoryProperty>
<Name>Created</Name>
<Value>3/14/2011 6:18:53 PM</Value>
<Type>DateTime</Type>
<Other />
</RecordsRepositoryProperty>
<RecordsRepositoryProperty>
<Name>vti_modifiedby</Name>
<Value>ADOMAIN\auser</Value>
<Type>String</Type>
<Other />
</RecordsRepositoryProperty>
</properties>
<recordRouting>Routing Documents</recordRouting>
<sourceUrl>http://site.domain.ad.example.com/sites/mysite/recordc/DropOffLibrary/NM_1_XYZ - herp derp derp.doc</sourceUrl>
<userName>ADOMAIN\auser</userName>
</SubmitFile>