GetStreamingEvents-Vorgang
Hier finden Sie Informationen zum EWS-Vorgang GetStreamingEvents .
Der GetStreamingEvents-Vorgang wird von Streamingabonnementclients verwendet, um Benachrichtigungen vom Clientzugriffsserver anzufordern. Die GetStreamingEvents-Antwort gibt ein Array von Elementen und Ereignissen zurück, die seit der letzten Benachrichtigung in einem Postfach aufgetreten sind.
Beispiel für eine GetStreamingEvents-Anforderung
Beschreibung
Das folgende Beispiel eines GetStreamingEvents-Vorgangs zeigt, wie die Ereignisse und Elemente anzufordern werden, die einem Abonnement zugeordnet sind, das durch den Abonnementbezeichner identifiziert wird.
Code
<?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>
GetStreamingEvents-Anforderungselemente
In der Anforderung werden folgende Elemente verwendet:
Beispiel für eine erfolgreiche GetStreamingEvents-Antwort
Beschreibung
Das folgende Beispiel einer GetStreamingEvents-Antwort zeigt die Benachrichtigungen, die an den Client gesendet werden, wenn eine neue E-Mail-Nachricht empfangen wird. Sie enthält Benachrichtigungen für die folgenden Ereignisse: CreatedEvent, NewMail und ModifiedEvent.
Code
<?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>
GetStreamingEvents-Antwortelemente
In der Antwort werden folgende Elemente verwendet:
Weitere Optionen für die Antwortnachricht des GetStreamingEvents-Vorgangs finden Sie in der Schemahierarchie. Beginnen Sie am Notification-Element .
Beispiel für getStreamingEvents-Fehlerantwort
Beschreibung
Das folgende Beispiel zeigt eine Fehlerantwort auf eine GetStreamingEvents-Anforderung .
Code
<?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>
Hinweise
Beim Verarbeiten einer GetStreamingEvents-Anforderung führt der Clientzugriffsserver die folgenden Schritte aus:
Die SubscriptionId (GetStreamingEvents) der Anforderung wird als gültiges Abonnement bestätigt, das auf dem Clientzugriffsserver gehostet wird. Andernfalls schlägt der Aufruf von GetStreamingEvents fehl.
Die SMTP-Adresse des authentifizierten Benutzers für die Anforderung wird auf Identitätswechselrechte überprüft. Andernfalls schlägt die GetStreamingEvents-Anforderung fehl.
Die Abonnementwarteschlange wird nach Ereignissen abgefragt, die darauf warten, an den Client gesendet zu werden. Wenn die Warteschlange nicht leer ist, werden die ersten 50 Ereignisse aus der Warteschlange abgerufen und in eine Benachrichtigung codiert.
Wenn keine Ereignisse in der Warteschlange gefunden werden, wird ein StatusEvent generiert und in eine Benachrichtigungsantwort codiert.
Die Benachrichtigungsantwort wird an den Client zurückgegeben.
Die ereignisse, die in der Benachrichtigung enthalten sind, werden aus der Abonnementwarteschlange entfernt, und das lokale lokale Clientzugriffsserver-Wasserzeichen für das Abonnement wird auf das Wasserzeichen des letzten ereignisses festgelegt, das zurückgegeben wird.
Der Timeouttimer für das Abonnement wird zurückgesetzt.