В Sharepoint 2010 возможно ли отправить существующий файл? - PullRequest
0 голосов
/ 15 марта 2011

Используя только буквальные вызовы 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>

Ответы [ 2 ]

1 голос
/ 16 марта 2011

http://www.sharepointdev.net/sharepoint--development-programming/notfound-error-while-sending-a-document-to-records-center-programmatically-62025.shtml

FTA:

Существует группа под названием «Отправители веб-службы центра записей для центра записей», в которой в основном указаны пользователи, которым разрешено отправлять записи в записи.Центр через веб-сервис.По умолчанию никто не является членом этой группы.Чтобы добавить пользователя, перейдите в «Центр записей> Люди и группы> Группы» и нажмите на вышеупомянутую группу.Добавьте пользователя в эту группу, и приведенный выше код работает ....

1 голос
/ 15 марта 2011

Да, вы должны предоставить поток байтов при использовании официального файлового веб-сервиса.

В противном случае было бы странно; как бы он обрабатывал разные ситуации аутентификации, например. Также этот WS сделан для общего подхода; любое приложение в SharePoint или вне его должно иметь возможность использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...