0

Exchangeサーバーで(パブリックフォルダー内の)公開カレンダーを読み込もうとしています。次のクエリをExchangeサーバーに送信していますが、サーバーは400-BadRequestで応答します。

<?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は問題ないように見えます。

助けていただければ幸いです。

ありがとうザビエル

4

2 に答える 2

0

試す

https://server/public/SomeFolder/SomeCalendar/?cmd=contents

于 2009-06-05T07:49:52.390 に答える
0

入力してくれた SillyMonkey に感謝します。

あなたの URL は同じエラーを返しましたが、クエリを送信するために接続していたエンドポイントに問題があることがわかりました。

この URI にクエリを投稿していました。

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

そして今、それを次のように変更しました:

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

ユーザーのメールボックスとパブリック フォルダーのどちらに対してクエリを実行するかによって、異なるエンドポイントを使用する必要があることに少し驚いていますが、そのようになっているようです。

于 2009-06-09T00:37:26.173 に答える