WebDAV查询Exchange

时间:2009-06-05 07:45:47

标签: exchange-server webdav

我正在尝试在Exchange服务器中读取公共日历(在公用文件夹中)。 我将以下查询发送到我的Exchange服务器,服务器回复400 - 错误请求。

<?xml version=""1.0""?>
<g:searchrequest xmlns:g=""DAV:"">
  <g:sql>
      SELECT
          ""urn:schemas:httpmail:subject"",
          ""urn:schemas:calendar:location"",
          ""urn:schemas:calendar:dtstart"",
          ""urn:schemas:calendar:dtend""
      FROM
          Scope('SHALLOW TRAVERSAL OF ""https://server/public/SomeFolder/SomeCalendar/""')
  </g:sql>
</g:searchrequest>

现在相同的查询适用于此商店网址: https://server/exchange/username/calendar/

所以我知道查询中的URL是错误的。 如果我在网络浏览器中粘贴有问题的网址,它会提供日历,所以网址确实很好。

任何帮助表示感谢。

由于 泽维尔

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

感谢SillyMonkey的投入。

您的网址返回了相同的错误,但我发现问题出在我连接的端点以提交查询。

我将查询发布到此URI:

string uri = string.Format("{0}/exchange/{1}", server, credentials.UserName); 

现在将其更改为:

string uri = string.Format("{0}/public", server);

我有点惊讶我必须使用不同的端点,这取决于我是查询用户的邮箱还是公共文件夹,但它似乎就是这样。