GetEvents 操作

GetEvents 操作は、プル サブスクリプション クライアントがクライアント アクセス サーバーからの通知を要求するために使用されます。 GetEvents 操作応答は、最後の通知以降にメールボックスで発生したアイテムとイベントの配列を返します。

重要

DeleteUserConfiguration 操作は、イベント通知システムの移動イベントをトリガーします。 ユーザー構成オブジェクトは、ダンプスターに移動されます。

注意事項

予定表アイテムを変更すると、複数のイベントが生成される可能性があります。 これらのイベントは、メールボックスに一時的なアイテムが作成された結果、空き時間情報のデータ ストレージアイテムが通常の予定表操作の一部として変更された結果、またはその両方です。 項目クラス "IPM" のイベント。SchedulePlus.FreeBusy.BinaryData" は、Web サービス クライアントでは無視する必要があります。 これらの一時アイテムは、作成後に削除されます。したがって、これらの項目を取得しようとすると、その項目が見つからなかったことを示すエラーが返されます。

GetEvents 要求の例

説明

次の例は、サブスクリプション識別子と透かしによって識別されるサブスクリプションに関連付けられているイベントと項目を要求する方法を示しています。

コード

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <GetEvents xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <SubscriptionId>f6bc657d-dde1-4f94-952d-143b95d6483d</SubscriptionId>
      <Watermark>AAAAAMAGAAAAAAAAAQ==</Watermark>
    </GetEvents>
  </soap:Body>
</soap:Envelope>

GetEvents 要求要素

要求では、次の要素が使用されます。

成功した GetEvents 応答の例

説明

応答の次の例は、最後の通知要求がサーバーに送信されてからの 2 つの新しいメール メッセージの存在の通知を示しています。

コード

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="628" MinorBuildNumber="0" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <GetEventsResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                       xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                       xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:GetEventsResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Notification>
            <t:SubscriptionId>f6bc657d-dde1-4f94-952d-143b95d6483d</t:SubscriptionId>
            <t:PreviousWatermark>AAAAAMAGAAAAAAAAAQ==</t:PreviousWatermark>
            <t:MoreEvents>false</t:MoreEvents>
            <t:NewMailEvent>
              <t:Watermark>AAAAAM4GAAAAAAAAAQ==</t:Watermark>
              <t:TimeStamp>2006-08-22T00:36:29Z</t:TimeStamp>
              <t:ItemId Id="AQApAHR" ChangeKey="CQAAAA==" />
              <t:ParentFolderId Id="AQApAH" ChangeKey="AQAAAA==" />
            </t:NewMailEvent>
            <t:NewMailEvent>
              <t:Watermark>AAAAAOQGAAAAAAAAAQ==</t:Watermark>
              <t:TimeStamp>2006-08-22T01:00:50Z</t:TimeStamp>
              <t:ItemId Id="AQApAHRw" ChangeKey="CQAAAA==" />
              <t:ParentFolderId Id="AQApAH" ChangeKey="AQAAAA==" />
            </t:NewMailEvent>
          </m:Notification>
        </m:GetEventsResponseMessage>
      </m:ResponseMessages>
    </GetEventsResponse>
  </soap:Body>
</soap:Envelope>

Comments

注:

読みやすくするために、アイテムとフォルダーの識別子が短縮されました。

GetEvents 応答要素

応答では、次の要素が使用されます。

GetEvents 操作の応答メッセージの他のオプションを見つけるには、スキーマ階層を調べます。 Notification 要素から開始します。

GetEvents エラー応答の例

説明

次の例は、 GetEvents 要求に対するエラー応答を示しています。

コード

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="628" MinorBuildNumber="0" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <GetEventsResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:GetEventsResponseMessage ResponseClass="Error">
          <m:MessageText>Access is denied. Only the subscription owner may access the subscription.</m:MessageText>
          <m:ResponseCode>ErrorSubscriptionAccessDenied</m:ResponseCode>
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
        </m:GetEventsResponseMessage>
      </m:ResponseMessages>
    </GetEventsResponse>
  </soap:Body>
</soap:Envelope>

注釈

GetEvents 要求を処理する場合、クライアント アクセス サーバーは次の手順を実行します。

  1. 要求の SubscriptionID が、クライアント アクセス サーバーでホストされている有効なサブスクリプションであることが確認されます。 そうでない場合、 GetEvents 呼び出しは失敗します。

  2. 要求の認証済みユーザーの SMTP アドレスは、サブスクリプションを作成したユーザーの SMTP アドレスと比較されます。 一致しない場合、 GetEvents 要求は 失敗します。

  3. サブスクリプション キューは、クライアントへの送信を待機しているイベントに対して照会されます。 キューが空でない場合、キューからの最初の 50 個のイベントがキューからプルされ、通知にエンコードされます。

  4. キューにイベントが見つからない場合、StatusEvent が生成され、通知応答にエンコードされます。

  5. 通知応答がクライアントに返されます。

  6. 通知に含まれるイベントはサブスクリプション キューから削除され、サブスクリプションのクライアント アクセス サーバーローカルの最後の透かしは、返される最後のイベントの透かしに設定されます。

  7. サブスクリプションのタイムアウト タイマーがリセットされます。

関連項目

サブスクライブ操作

Unsubscribe 操作

Pull Subscriptions の使用