Используя только буквальные вызовы SOAP, возможно ли использовать RecordsRepository.SubmitFile для отправки файла где-нибудь уже на сайте Sharepoint? В настоящее время у меня есть код, который может использовать Copy.CopyIntoItems для загрузки документа в выпадающую библиотеку и заполнения всех необходимых полей метаданных, включая тип содержимого, но, похоже, он не хочет маршрутизировать в целевую библиотеку.
Нужно ли повторно отправлять файл в виде потока байтов, чтобы использовать этот метод? Мне бы пришлось скачать документ, конвертировать в base64 и повторно загрузить, что не кажется идеальным.
Итак, теперь я попытался использовать RecordsRepository.SubmitFile, но все, что я когда-либо получал, это ошибка NotFound. Я последовал этому примеру . Запрос, который я посылаю, выглядит так:
<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>