Operación GetEventsGetEvents operation

La operación GetEvents la usan los clientes de suscripción de extracción para solicitar notificaciones del servidor de acceso de cliente.The GetEvents operation is used by pull subscription clients to request notifications from the Client Access server. La respuesta de la operación GetEvents devuelve una matriz de elementos y eventos que se han producido en un buzón desde la última notificación.The GetEvents operation response returns an array of items and events that have occurred in a mailbox since the last the notification.

Importante

La operación DeleteUserConfiguration desencadenará un evento Move para el sistema de notificación de eventos.The DeleteUserConfiguration operation will trigger a move event for the event notification system. El objeto de configuración de usuario se moverá al contenedor.The user configuration object will be moved to the dumpster.

ComentariosRemarks

Los cambios en los elementos del calendario pueden dar como resultado la generación de varios eventos.Changes to Calendar items may result in the generation of multiple events. Estos eventos son el resultado de la creación de elementos temporales en el buzón, el cambio de elementos de almacenamiento de datos de disponibilidad como parte de las operaciones normales del calendario o ambos.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. Eventos para la clase de elemento "IPM. Los clientes del servicio Web deben omitir SchedulePlus. FreeBusy. BinaryData.Events for item class "IPM.SchedulePlus.FreeBusy.BinaryData" should be ignored by Web service clients. Estos elementos temporales se eliminan después de su creación; por lo tanto, si se realiza un intento de recuperar estos elementos, se devolverá un error que indica que no se encontró el elemento.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.

Ejemplo de solicitud GetEventsGetEvents request example

DescriptionDescription

En el ejemplo siguiente se muestra cómo solicitar los eventos y elementos asociados a una suscripción identificada por el identificador de suscripción y la marca de agua.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.

CódigoCode

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

Elementos de solicitud GetEventsGetEvents Request Elements

Los siguientes elementos se usan en la solicitud:The following elements are used in the request:

Ejemplo de respuesta GetEvents correctaSuccessful GetEvents response example

DescriptionDescription

El siguiente ejemplo de una respuesta muestra una notificación de la existencia de dos nuevos mensajes de correo desde que se envió al servidor la última solicitud de notificación.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.

CódigoCode

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

ComentariosComments

Nota

Los identificadores de elemento y carpeta se han abreviado para preservar la legibilidad.The item and folder identifiers have been shortened to preserve readability.

Elementos de respuesta GetEventsGetEvents response elements

En la respuesta se usan los siguientes elementos:The following elements are used in the response:

Para buscar otras opciones para el mensaje de respuesta de la operación GetEvents , explore la jerarquía del esquema.To find other options for the response message of the GetEvents operation, explore the schema hierarchy. Comenzar en el elemento de notificación .Start at the Notification element.

Ejemplo de respuesta de error GetEventsGetEvents Error response example

DescriptionDescription

En el ejemplo siguiente se muestra una respuesta de error a una solicitud GetEvents .The following example shows an error response to a GetEvents request.

CódigoCode

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

ComentariosRemarks

Al procesar una solicitud GetEvents , el servidor de acceso de cliente realiza los pasos siguientes:When processing a GetEvents request, the Client Access server performs the following steps:

  1. Se confirma que el SubscriptionID de la solicitud es una suscripción válida que se hospeda en el servidor de acceso de cliente.The SubscriptionID of the request is confirmed to be a valid subscription that is hosted on the Client Access server. Si no es así, se produce un error en la llamada GetEvents .If it is not, the GetEvents call fails.

  2. La dirección SMTP del usuario autenticado para la solicitud se compara con la dirección SMTP del usuario que creó la suscripción.The SMTP address of the authenticated user for the request is compared to the SMTP address of the user who created the subscription. Si no coinciden, se produce un error en la solicitud GetEvents .If they do not match, the GetEvents request fails.

  3. La cola de suscripción se consulta para los eventos que están a la espera de ser enviados al cliente.The subscription queue is queried for events that are waiting to be sent to the client. Si la cola no está vacía, los primeros 50 eventos de la cola se extraen de la cola y se codifican en una notificación.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 no se encuentra ningún evento en la cola, se genera un StatusEvent y se codifica en una respuesta de notificación.If no events are found in the queue, a StatusEvent is generated and encoded into a notification response.

  5. La respuesta de la notificación se devuelve al cliente.The notification response is returned to the client.

  6. Los eventos incluidos en la notificación se quitan de la cola de suscripción y la última marca de agua local del servidor de acceso de cliente de la suscripción se establece en la marca de agua del último evento que se devuelve.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. Se restablece el temporizador de tiempo de espera de la suscripción.The timeout timer for the subscription is reset.

Vea tambiénSee also

Operación subscribeSubscribe operation

Operación unsubscribeUnsubscribe operation

Uso de suscripciones de extracciónUsing Pull Subscriptions