Operación GetStreamingEvents
Busque información sobre la operación EWS GetStreamingEvents .
La operación GetStreamingEvents la usan los clientes de suscripción de streaming para solicitar notificaciones desde el servidor de acceso de cliente. La respuesta GetStreamingEvents devuelve una matriz de elementos y eventos que se han producido en un buzón desde la última notificación.
Ejemplo de solicitud GetStreamingEvents
Descripción
En el ejemplo siguiente de una operación GetStreamingEvents se muestra cómo solicitar los eventos y elementos asociados a una suscripción identificada por el identificador de suscripción.
Código
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Body>
<GetStreamingEvents xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<SubscriptionIds>
<SubscriptionId>f6bc657d-dde1-4f94-952d-143b95d6483d</SubscriptionId>
</SubscriptionIds>
<ConnectionTimeout>30</ConnectionTimeout>
</GetStreamingEvents>
</soap:Body>
</soap:Envelope>
Elementos de solicitud GetStreamingEvents
En la solicitud se usan los siguientes elementos:
Ejemplo de respuesta correcta de GetStreamingEvents
Descripción
En el ejemplo siguiente de una respuesta GetStreamingEvents se muestran las notificaciones que se envían al cliente cuando se recibe un nuevo mensaje de correo electrónico. Incluye notificaciones para los siguientes eventos: CreatedEvent, NewMail y ModifiedEvent.
Código
<?xml version="1.0" encoding="utf-8" ?>
<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<ServerVersionInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MajorVersion="15" MinorVersion="0" MajorBuildNumber="775" MinorBuildNumber="7" Version="V2_4" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<m:GetStreamingEventsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:GetStreamingEventsResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Notifications>
<m:Notification>
<t:SubscriptionId>f6bc657d-dde1-4f94-952d-143b95d6483d</t:SubscriptionId>
<t:CreatedEvent>
<t:TimeStamp>2013-09-16T04:31:29Z</t:TimeStamp>
<t:ItemId Id="AAMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwBGAAAAAABSSWVKrmGUTJE+MVIvofglBwDZGACZQpSgSpyNkexYe2b7AAAAAAENAADZGACZQpSgSpyNkexYe2b7AAANGFYwAAA=" ChangeKey="CQAAAA==" />
<t:ParentFolderId Id="AQMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwAuAAADUkllSq5hlEyRPjFSL6H4JQEA2RgAmUKUoEqcjZHsWHtm+wAAAgENAAAA" ChangeKey="AQAAAA==" />
</t:CreatedEvent>
<t:NewMailEvent>
<t:TimeStamp>2013-09-16T04:31:29Z</t:TimeStamp>
<t:ItemId Id="AAMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwBGAAAAAABSSWVKrmGUTJE+MVIvofglBwDZGACZQpSgSpyNkexYe2b7AAAAAAENAADZGACZQpSgSpyNkexYe2b7AAANGFYwAAA=" ChangeKey="CQAAAA==" />
<t:ParentFolderId Id="AQMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwAuAAADUkllSq5hlEyRPjFSL6H4JQEA2RgAmUKUoEqcjZHsWHtm+wAAAgENAAAA" ChangeKey="AQAAAA==" />
</t:NewMailEvent>
<t:ModifiedEvent>
<t:TimeStamp>2013-09-16T04:31:29Z</t:TimeStamp>
<t:FolderId Id="AQMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwAuAAADUkllSq5hlEyRPjFSL6H4JQEA2RgAmUKUoEqcjZHsWHtm+wAAAgENAAAA" ChangeKey="AQAAAA==" />
<t:ParentFolderId Id="AQMkADkzNjJjODUzLWZhMDMtNDVkMS05ZDdjLWVmMDlkYjQ1Zjc4MwAuAAADUkllSq5hlEyRPjFSL6H4JQEA2RgAmUKUoEqcjZHsWHtm+wAAAgEJAAAA" ChangeKey="AQAAAA==" />
<t:UnreadCount>1</t:UnreadCount>
</t:ModifiedEvent>
</m:Notification>
</m:Notifications>
</m:GetStreamingEventsResponseMessage>
</m:ResponseMessages>
</m:GetStreamingEventsResponse>
</soap:Body>
Elementos de respuesta GetStreamingEvents
Los siguientes elementos se usan en la respuesta:
Para buscar otras opciones para el mensaje de respuesta de la operación GetStreamingEvents , explore la jerarquía de esquemas. Comience en el elemento Notification .
Ejemplo de respuesta de error de GetStreamingEvents
Descripción
En el ejemplo siguiente se muestra una respuesta de error a una solicitud GetStreamingEvents .
Código
<?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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<GetStreamingEventsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:GetStreamingEventsResponseMessage ResponseClass="Error">
<m:MessageText></m:MessageText>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:ResponseCode>ErrorInvalidSubscription</m:ResponseCode>
<m:ConnectionStatus>Closed</m:ConnectionStatus>
</m:ResponseMessages>
</GetStreamingEventsResponse>
</soap:Body>
</soap:Envelope>
Comentarios
Al procesar una solicitud GetStreamingEvents , el servidor de acceso de cliente realiza los pasos siguientes:
Se confirma que SubscriptionId (GetStreamingEvents) de la solicitud es una suscripción válida hospedada en el servidor de acceso de cliente. Si no es así, se produce un error en la llamada a GetStreamingEvents .
La dirección SMTP del usuario autenticado para la solicitud se valida para que tenga derechos de suplantación. Si no es así, se produce un error en la solicitud GetStreamingEvents .
Se consulta la cola de suscripciones para los eventos que están a la espera de enviarse al cliente. 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.
Si no se encuentra ningún evento en la cola, se genera un objeto StatusEvent y se codifica en una respuesta de notificación.
La respuesta de notificación se devuelve al cliente.
Los eventos que se incluyen en la notificación se quitan de la cola de suscripciones 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.
Se restablece el temporizador de tiempo de espera de la suscripción.