Итак, у нас есть требование загрузить файл на сервер sharepoint с помощью клиента iOS. Мы можем загружать размер файла до 40 КБ, но проблема в том, что данные файла, которые мы передаем, находятся в кодировке Base64, и он не подходит для размера файла более 40 КБ, потому что мы не можем передавать большие данные в мыльном сообщении, поэтому мы пробовали различные подходы и упомянутых в Интернете. These are the ways we tried outзапрос мыла Sharepoint MTOM
, и мы остаемся с отправкой только данных с использованием MTOM.
После много экспериментов и поиска Я думаю, что MTOM - это способ загрузки данных с использованием мыла. Мы используем CopyIntoItems sharepoint для загрузки.
запрос Мыло выглядит
<"xmlns:soap12=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
"<soap12:Body>\n"
"<CopyIntoItems xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">\n"
"<SourceUrl>%@</SourceUrl>\n"
"<DestinationUrls>\n"
"<string>%@</string>\n"
"</DestinationUrls>\n"
"<Fields>\n"
"%@"
"</Fields>\n"
"<Stream>MY_FILE_DATA</Stream>\n"
"</CopyIntoItems>\n"
"</soap12:Body>\n"
"</soap12:Envelope>\n"
Теперь проблема заключается в том, как мы форматировать этот запрос мыло в пути MTOM принимает, потому что CopyIntoItems не может работать в другом формате.
Несколько образцов MTOM, которые я посмотрел в
http://cxf.apache.org/docs/mtom.html
Любая помощь будет много appreciated..Thanks .. !!
Благодаря Стефано. Поскольку мы разрабатываем это приложение в iOS (iPhone/iPad), поэтому не могли действительно использовать классы или APIS из MSDN или C#. Если вы можете объяснить шаги, я могу попробовать конвертировать их в iOS. –
Код, который я написал для серверной части (SharePoint). На стороне клиента это просто Http Post. Если вы не имеете доступа к серверной стороне, вы не можете применить это решение. –
Мы можем внести это изменение на сервер, но проблема заключается в простой HTTP-почте, как мы можем использовать запрос Sharepoint CopyIntoItems? –