Я пытаюсь загрузить файл в 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=""https://dbp.btfinancialgroup.com/Shared
Documents/Papers/TestingFile.txt""
Во ВСЕХ этих сценариях файл не существует в месте назначения в конце запроса.
Я действительно застрял, так как большинство онлайн-предложений предназначены для решения проблем C #, которые используют протоколы .net для подключения к SharePoint.
Есть предложения?
Спасибо