SOAP-сообщение SharePoint CopyIntoItems в Задаче C - PullRequest
0 голосов
/ 02 ноября 2011

Я пытаюсь загрузить файл в SharePoint программно через приложение Mac, которое я сейчас пишу. Я могу использовать веб-сервис GetListItems для получения списка файлов, и вся аутентификация и т. Д. Работает правильно. Я сам формирую SOAP-сообщение следующим образом:

Сначала я подумал, что у меня просто неправильно написана сторона Objective C, но я использовал расширение HTTP-запроса для Firefox, Poster, и до сих пор не могу заставить его работать.

Мыло в постере, которое я создаю, содержит следующее сообщение:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
xmlns:xsd="http://www.w3.org/2001/XMLSchema"     
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <CopyIntoItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
      <SourceUrl>http://null</SourceUrl>
      <DestinationUrls>
        <string>myurl.com/Shared Documents/Documents/TestingFile.txt</string>
      </DestinationUrls>
      <Stream>VGVzdGluZyB0ZXN0aW5n</Stream>
    </CopyIntoItems>
  </soap:Body>
</soap:Envelope>

Поток (на данный момент) - это просто некоторые данные, чтобы посмотреть, смогу ли я заставить его работать. Я прочитал, что установка SourceUrl как http://null, может помочь в некоторых случаях. Я также читал, что DestinationURL должен быть полным путем. Проблема здесь:

1) Если я добавлю URL без https: //, я получу ответ:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope     
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CopyIntoItemsResponse 
xmlns="http://schemas.microsoft.com/sharepoint/soap/">    
<CopyIntoItemsResult>0</CopyIntoItemsResult><Results><CopyResult ErrorCode="Success" 
DestinationUrl="myurl.com/Shared Documents/Documents/TestingFile.txt" /></Results>
</CopyIntoItemsResponse></soap:Body></soap:Envelope>

2) Если я поставлю полный путь, например

https://myurl.com/Shared Documents/Documents/TestingFile.txt

тогда результат говорит мне то же, что и раньше, за исключением этого бита:

<CopyResult ErrorCode="Unknown" ErrorMessage="Object reference not set to an instance of an     
object."     
DestinationUrl="https://dbp.btfinancialgroup.com/Shared%20Documents/Papers/TestingFile.txt" 
/>

3) Если я поставлю полный путь, в кавычках, например,

"https://myurl.com/Shared Documents / Documents / TestingFile.txt"

тогда результаты говорят мне так же, как первый, например. что это было успешно, но с пункт назначения этого:

DestinationUrl="&quot;https://dbp.btfinancialgroup.com/Shared 
Documents/Papers/TestingFile.txt&quot;"

Во ВСЕХ этих сценариях файл не существует в месте назначения в конце запроса.

Я действительно застрял, так как большинство онлайн-предложений предназначены для решения проблем C #, которые используют протоколы .net для подключения к SharePoint.

Есть предложения?

Спасибо

1 Ответ

1 голос
/ 14 ноября 2011

Чтобы помочь кому-либо еще, кто может столкнуться с этой проблемой.

Оказалось, что проблема с моим кодом вообще не была проблемой, которую я создал, создав проект на C #, чтобы попытаться использовать лучшие возможности подключения, предоставляемые SharePoint, а также поговорил с кем-то из службы поддержки Microsoft, который подтвердилмой код должен работать.

В конце концов, это были неправильные сопоставления на сервере, что означало, что веб-сервис никогда не связывался правильно с URL-адресами.Это вызвало ошибку «Ссылка на объект не установлена ​​для экземпляра объекта».

Для всех, кто получает это сообщение об ошибке, может возникнуть не только проблема со значениями, которые вы передаете веб-службе -также проверьте сопоставления, установленные на сервере.Очевидно, что журналы ULS могут помочь с этим, как отметил сотрудник службы поддержки Microsoft, с точки зрения сужения причин, которые его вызывают.

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