Opération de GetEventsGetEvents operation

L’opération GetEvents est utilisée par les clients d’abonnements extraits pour demander des notifications à partir du serveur d’accès au client.The GetEvents operation is used by pull subscription clients to request notifications from the Client Access server. La réponse de l’opération GetEvents renvoie un tableau d’éléments et d’événements qui se sont produits dans une boîte aux lettres depuis la dernière notification.The GetEvents operation response returns an array of items and events that have occurred in a mailbox since the last the notification.

Important

L’opération DeleteUserConfiguration déclenchera un événement Move pour le système de notification d’événements.The DeleteUserConfiguration operation will trigger a move event for the event notification system. L’objet de configuration utilisateur est déplacé vers la benne.The user configuration object will be moved to the dumpster.

RemarquesRemarks

Les modifications apportées aux éléments de calendrier peuvent entraîner la génération de plusieurs événements.Changes to Calendar items may result in the generation of multiple events. Ces événements sont le résultat des éléments temporaires créés dans la boîte aux lettres, des éléments de stockage des données de disponibilité modifiés dans le cadre des opérations de calendrier normales ou des deux.These events are the result of temporary items being created in the mailbox, free/busy data storage items being changed as part of the normal Calendar operations, or both. Événements de la classe d’élément «IPM. SchedulePlus. FreeBusy. BinaryData "doit être ignoré par les clients de service Web.Events for item class "IPM.SchedulePlus.FreeBusy.BinaryData" should be ignored by Web service clients. Ces éléments temporaires sont supprimés après leur création ; par conséquent, si vous tentez de récupérer ces éléments, une erreur est renvoyée, indiquant que l’élément est introuvable.These temporary items are deleted after they are created; therefore, if an attempt is made to retrieve these items, an error will be returned that states that the item was not found.

Exemple de requête GetEventsGetEvents request example

DescriptionDescription

L’exemple suivant montre comment demander les événements et les éléments qui sont associés à un abonnement identifié par l’identificateur d’abonnement et le filigrane.The following example shows how to request the events and items that are associated with a subscription that is identified by the subscription identifier and watermark.

CodeCode

<?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>

Éléments de requête GetEventsGetEvents Request Elements

Les éléments suivants sont utilisés dans la demande :The following elements are used in the request:

Exemple de réponse GetEvents réussiSuccessful GetEvents response example

DescriptionDescription

L’exemple suivant d’une réponse affiche une notification de l’existence de deux nouveaux messages électroniques depuis que la dernière demande de notification a été envoyée au serveur.The following example of a response shows a notification of the existence of two new mail messages since the last notification request was sent to the server.

CodeCode

<?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>

CommentairesComments

Notes

Les identificateurs d’éléments et de dossiers ont été raccourcis pour conserver la lisibilité.The item and folder identifiers have been shortened to preserve readability.

Éléments de réponse GetEventsGetEvents response elements

Les éléments suivants sont utilisés dans la réponse :The following elements are used in the response:

Pour rechercher d’autres options pour le message de réponse de l’opération GetEvents , explorez la hiérarchie du schéma.To find other options for the response message of the GetEvents operation, explore the schema hierarchy. Commencez par l’élément notification .Start at the Notification element.

Exemple de réponse d’erreur GetEventsGetEvents Error response example

DescriptionDescription

L’exemple suivant montre une réponse d’erreur à une demande GetEvents .The following example shows an error response to a GetEvents request.

CodeCode

<?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>

RemarquesRemarks

Lors du traitement d’une demande GetEvents , le serveur d’accès au client effectue les étapes suivantes :When processing a GetEvents request, the Client Access server performs the following steps:

  1. Le SubscriptionID de la demande est confirmé comme étant un abonnement valide qui est hébergé sur le serveur d’accès au client.The SubscriptionID of the request is confirmed to be a valid subscription that is hosted on the Client Access server. Si ce n’est pas le cas, l’appel GetEvents échoue.If it is not, the GetEvents call fails.

  2. L’adresse SMTP de l’utilisateur authentifié pour la demande est comparée à l’adresse SMTP de l’utilisateur qui a créé l’abonnement.The SMTP address of the authenticated user for the request is compared to the SMTP address of the user who created the subscription. Si elles ne correspondent pas, la demande GetEvents échoue.If they do not match, the GetEvents request fails.

  3. La file d’attente d’abonnement est interrogée pour les événements qui attendent d’être envoyés au client.The subscription queue is queried for events that are waiting to be sent to the client. Si la file d’attente n’est pas vide, les premiers événements 50 de la file d’attente sont extraits de la file d’attente et codés dans une notification.If the queue is not empty, the first 50 events from the queue are pulled from the queue and encoded into a notification.

  4. Si aucun événement n’est trouvé dans la file d’attente, une StatusEvent est générée et codée dans une réponse de notification.If no events are found in the queue, a StatusEvent is generated and encoded into a notification response.

  5. La réponse de notification est renvoyée au client.The notification response is returned to the client.

  6. Les événements inclus dans la notification sont supprimés de la file d’attente d’abonnement et le dernier filigrane local du serveur d’accès au client pour l’abonnement est défini sur le filigrane du dernier événement renvoyé.The events that are included in the notification are removed from the subscription queue and the Client Access server local last watermark for the subscription is set to the watermark of the last event that is returned.

  7. Le délai d’expiration de l’abonnement est réinitialisé.The timeout timer for the subscription is reset.

Voir aussiSee also

Opération d'abonnementSubscribe operation

Opération de résiliation d'abonnementUnsubscribe operation

Utilisation des abonnements extraitsUsing Pull Subscriptions