none
WebDAV + Exchange 2003 RRS feed

  • Общие обсуждения

  • Доброго времени суток!

    В процессе работы с Exchange Server 2003 посредством WebDAV был выявлен следующий интересный момент: иногда этот код (предназначеный для получения локализованного имени папки Inbox (f.e. Входящие))

    System.Net.ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();

    strBody = "<?xml version='1.0' encoding='utf-8'?>";

    strBody += "<a:propfind xmlns:a='DAV:' xmlns:h='urn:schemas:httpmail:'>";

    strBody += "<a:prop><h:inbox/></a:prop></a:propfind>";

     

    Request = (System.Net.HttpWebRequest)HttpWebRequest.Create(mailboxRoot);

    Request.Credentials = new NetworkCredential(LinkageSystemUserName, LinkageSystemUserPass, ExchangeServerDomain);

    Request.Method = "PROPFIND";

    Request.PreAuthenticate = true;

    Request.ServicePoint.Expect100Continue = false;

    Request.ServicePoint.UseNagleAlgorithm = false;

    bytes = System.Text.Encoding.UTF8.GetBytes(strBody);

    Request.ContentLength = bytes.Length;

    RequestStream = Request.GetRequestStream();

    RequestStream.Write(bytes, 0, bytes.Length);

    RequestStream.Close();

    Request.ContentType = "text/xml";

    Request.Headers.Add("Depth", "0");

    Response = (HttpWebResponse)Request.GetResponse();

     

    Stream ReceiveStream = Response.GetResponseStream();

    System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");

    StreamReader sr = new StreamReader(ReceiveStream, encode);

    string XmlData = sr.ReadToEnd();

    ReceiveStream.Close();

    sr.Close();

    Response.Close();

    отрабатывает только один раз, и на все последующие WebDAV-запросы сервер отвечает (400) Bad request (продолжается в течении 5-10 минут, а потом все опять нормально) А иногда отрабатывает множество раз подряд (1000+) без явных проблем.

    Собственно вопрос - почему такое может происходить и как с этим бороться?

    13 октября 2006 г. 9:48