代码之家  ›  专栏  ›  技术社区  ›  Xavier Poinas

Exchange的WebDAV查询

  •  0
  • Xavier Poinas  · 技术社区  · 15 年前

    我正在尝试读取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>
    

    现在,相同的查询可用于此存储URL: https://server/exchange/username/calendar/

    所以我知道这是查询中错误的URL。 如果我将有问题的URL粘贴到我的Web浏览器中,它将与日历一起出现,因此该URL看起来确实很好。

    感谢您的帮助。

    谢谢 沙维尔

    2 回复  |  直到 15 年前
        2
  •  0
  •   Xavier Poinas    13 年前

    感谢Sillymonkey提供您的意见。

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

    我正在将查询发布到此URI:

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

    现在改为:

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

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