Operação GetEvents
A operação GetEvents é usada por clientes de assinatura pull para solicitar notificações do servidor de Acesso ao Cliente. A resposta da operação GetEvents retorna uma matriz de itens e eventos que ocorreram em uma caixa de correio desde a última notificação.
Importante
A operação DeleteUserConfiguration disparará um evento de movimentação para o sistema de notificação de eventos. O objeto de configuração do usuário será movido para a lixeira.
Observações
Alterações nos itens calendário podem resultar na geração de vários eventos. Esses eventos são o resultado de itens temporários sendo criados na caixa de correio, itens de armazenamento de dados gratuitos/ocupados sendo alterados como parte das operações normais do Calendário ou ambos. Eventos para a classe de item "IPM. SchedulePlus.FreeBusy.BinaryData" deve ser ignorado pelos clientes do serviço Web. Esses itens temporários são excluídos depois que são criados; Portanto, se for feita uma tentativa de recuperar esses itens, será retornado um erro que afirma que o item não foi encontrado.
Exemplo de solicitação GetEvents
Descrição
O exemplo a seguir mostra como solicitar os eventos e itens associados a uma assinatura identificada pelo identificador de assinatura e pela marca d'água.
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">
<soap:Body>
<GetEvents xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<SubscriptionId>f6bc657d-dde1-4f94-952d-143b95d6483d</SubscriptionId>
<Watermark>AAAAAMAGAAAAAAAAAQ==</Watermark>
</GetEvents>
</soap:Body>
</soap:Envelope>
Elementos de solicitação GetEvents
Os seguintes elementos são usados na solicitação:
Exemplo de resposta getEvents bem-sucedido
Descrição
O exemplo a seguir de uma resposta mostra uma notificação da existência de duas novas mensagens de email desde que a última solicitação de notificação foi enviada ao servidor.
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>
<GetEventsResponse 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: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
Observação
Os identificadores de item e pasta foram encurtados para preservar a legibilidade.
Elementos de resposta GetEvents
Os seguintes elementos são usados na resposta:
Para encontrar outras opções para a mensagem de resposta da operação GetEvents , explore a hierarquia de esquema. Comece no elemento Notificação .
Exemplo de resposta de erro getEvents
Descrição
O exemplo a seguir mostra uma resposta de erro a uma solicitação GetEvents .
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>
<GetEventsResponse 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: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>
Comentários
Ao processar uma solicitação GetEvents , o servidor de Acesso ao Cliente executa as seguintes etapas:
O SubscriptionID da solicitação é confirmado como uma assinatura válida hospedada no servidor de Acesso ao Cliente. Se não for, a chamada GetEvents falhará.
O endereço SMTP do usuário autenticado para a solicitação é comparado ao endereço SMTP do usuário que criou a assinatura. Se eles não corresponderem, a solicitação GetEvents falhará.
A fila de assinatura é consultada para eventos que estão aguardando para serem enviados ao cliente. Se a fila não estiver vazia, os primeiros 50 eventos da fila serão retirados da fila e codificados em uma notificação.
Se nenhum evento for encontrado na fila, um StatusEvent será gerado e codificado em uma resposta de notificação.
A resposta de notificação é retornada ao cliente.
Os eventos incluídos na notificação são removidos da fila de assinatura e a última marca d'água local do servidor de Acesso ao Cliente para a assinatura é definida como a marca d'água do último evento retornado.
O tempo limite para a assinatura é redefinido.