我正在尝试在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是错误的。 如果我在网络浏览器中粘贴有问题的网址,它会提供日历,所以网址确实很好。
任何帮助表示感谢。
由于 泽维尔
答案 0 :(得分:0)
答案 1 :(得分:0)
感谢SillyMonkey的投入。
您的网址返回了相同的错误,但我发现问题出在我连接的端点以提交查询。
我将查询发布到此URI:
string uri = string.Format("{0}/exchange/{1}", server, credentials.UserName);
现在将其更改为:
string uri = string.Format("{0}/public", server);
我有点惊讶我必须使用不同的端点,这取决于我是查询用户的邮箱还是公共文件夹,但它似乎就是这样。