WebDAV PROPFIND的示例代码

时间:2010-06-29 05:04:19

标签: webdav

是否有任何网站或某人可以向我提供样本PROFIND请求。

我尝试了来自MSDN的PROFIND代码示例,但收到400 Bad请求。

无法理解为什么会这样。

之前在Getting 400 Bad request from WebDav Server

发布了问题

任何建议都会非常有用。

修改

@Julian,

已将我的请求正文更新为以下内容:

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

正如RFC 4918, Section 9.1

所述

但我仍然收到400 Bad request Error。我错过了任何标题。请建议我设置以下标题信息:

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

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

我是否需要设置或指定其他内容。完整的代码在我的Previosu问题中。

谢谢,

Subhen

1 个答案:

答案 0 :(得分:4)

好的,我错过了Depth Header,因此Web服务器返回Method Not allowed错误。

MSDN清楚地说明了这一点 MAPI客户端(如Microsoft Outlook)可以访问的公用存储中不支持深度值为“无穷大”的PROPFIND。

由于我没有使用代理,因此生成了错误请求404错误。所以我做了什么我评论了没有使用任何代理并添加深度标题的行。

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