Пример кода для WebDAV PROPFIND - PullRequest
0 голосов
/ 29 июня 2010

Существует ли какой-либо сайт или кто-то может предоставить мне образец запроса PROFIND, пожалуйста.

Я попробовал образец кода PROFIND из MSDN, но получил 400 Плохой запрос.

Невозможно понять, почему это

Ранее опубликованный вопрос на Получение 400 плохих запросов от сервера WebDav

Любые предложения будут очень полезны.

Редактировать

@ Julian,

Обновил тело моего запроса следующим образом:

 strBody = "<?xml version='1.0' encoding='utf-8'?>"
                 + "<propfind xmlns='DAV:'>"
                 + "<allprop/>"
                + "</propfind>";

, как объяснено в RFC 4918, Раздел 9.1

Но я все еще получаю ошибку 400 Bad request.MI отсутствует какие-либо заголовки.Пожалуйста, предложите мне установить следующую информацию заголовка:

 System.Net.HttpWebRequest Request;
 Request.Credentials = MyCredentialCache;
 Request.Method = "PROPFIND";

 bytes = Encoding.UTF8.GetBytes((string)strBody);
 Request.ContentType = "text/xml";

Нужно ли устанавливать или указывать что-то дополнительное?Полный код в моем Previosu Вопрос.

Спасибо,

Субхен

1 Ответ

4 голосов
/ 30 июня 2010

Хорошо, я пропустил Заголовок Глубины, и по этой причине веб-сервер возвращал метод Недопустимая ошибка.

MSDN явно указывает, что PROPFIND со значением глубины "бесконечность"не поддерживается в общедоступном хранилище, доступном для клиентов MAPI, таких как Microsoft Outlook.

И возникла ошибка Плохой запрос 404, поскольку я не использовал прокси-сервер.Итак, что я сделал, я прокомментировал строку, в которой не использовался прокси-сервер, и добавил заголовок глубины.

 // Request.Proxy = GlobalProxySelection.GetEmptyWebProxy();
Request.Headers.Add("Depth", "1");
...