Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Операция Подписки используется для подписки клиентских приложений на push-уведомления или уведомления по запросу. Важно помнить, что структура сообщений запросов и ответов отличается в зависимости от типа уведомления о событии.
Пример запроса подписки на подписку на вытягивание
Описание
В следующем примере кода показано, как подписаться на подписку на уведомление о событиях по запросу. Подписка информирует клиентское приложение о добавлении новой почты в папку "Входящие" и удалении элемента из папки "Входящие". Истекает время ожидания подписки, если клиент не запрашивает сведения о событиях в течение десяти минут. Если срок действия подписки истек, необходимо установить новую подписку, чтобы продолжать запрашивать уведомления.
Код
<?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>
<Subscribe xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<PullSubscriptionRequest>
<t:FolderIds>
<t:DistinguishedFolderId Id="inbox"/>
</t:FolderIds>
<t:EventTypes>
<t:EventType>NewMailEvent</t:EventType>
<t:EventType>DeletedEvent</t:EventType>
</t:EventTypes>
<t:Timeout>10</t:Timeout>
</PullSubscriptionRequest>
</Subscribe>
</soap:Body>
</soap:Envelope>
Элементы запроса подписки на подписку по запросу на вытягивание
В запросе используются следующие элементы:
Чтобы найти другие параметры для сообщения запроса операции Подписки, изучите иерархию схем. Начните с элемента PullSubscriptionRequest .
Пример ответа на подписку по запросу
Описание
В следующем примере показан успешный ответ подписки на вытягивание. Ответ содержит идентификатор подписки и водяной знак, используемый для получения массива событий, связанных с подпиской. Идентификатор подписки также используется для отмены подписки клиента на подписку.
Код
<?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>
<SubscribeResponse 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:SubscribeResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:SubscriptionId>39ea5d0f-f062-455e-a1e9-89c0304390f4</m:SubscriptionId>
<m:Watermark>AAAAAHgGAAAAAAAAAQ==</m:Watermark>
</m:SubscribeResponseMessage>
</m:ResponseMessages>
</SubscribeResponse>
</soap:Body>
</soap:Envelope>
Элементы ответа подписки на подписку по запросу
В ответе используются следующие элементы:
Пример ответа об ошибке подписки на подписку на вытягивание
Описание
В следующем примере показан ответ на ошибку на запрос подписки. Ошибка вызвана попыткой подписаться на уведомления с помощью делегированного доступа.
Код
<?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="685" MinorBuildNumber="8"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<SubscribeResponse 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:SubscribeResponseMessage ResponseClass="Error">
<m:MessageText>Subscriptions are not supported for delegate user access.</m:MessageText>
<m:ResponseCode>ErrorSubscriptionDelegateAccessNotSupported</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
</m:SubscribeResponseMessage>
</m:ResponseMessages>
</SubscribeResponse>
</soap:Body>
</soap:Envelope>
Элементы ответа об ошибке подписки по запросу
В ответе на ошибку используются следующие элементы:
Пример запроса принудительной подписки
Описание
В следующем примере кода показано, как подписаться на подписку на уведомления о push-событиях. Запрос определяет папки для мониторинга, типы отслеживаемых событий, частоту уведомлений о состоянии и URL-адрес клиентской веб-службы, которая прослушивает push-уведомления.
Код
<?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>
<Subscribe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PushSubscriptionRequest xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<FolderIds xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<DistinguishedFolderId Id="inbox" />
</FolderIds>
<EventTypes xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<EventType>NewMailEvent</EventType>
<EventType>CopiedEvent</EventType>
<EventType>CreatedEvent</EventType>
<EventType>DeletedEvent</EventType>
<EventType>ModifiedEvent</EventType>
<EventType>MovedEvent</EventType>
</EventTypes>
<StatusFrequency xmlns="http://schemas.microsoft.com/exchange/services/2006/types">1</StatusFrequency>
<URL xmlns="http://schemas.microsoft.com/exchange/services/2006/types">http://clientWebService/Service.asmx</URL>
</PushSubscriptionRequest>
</Subscribe>
</soap:Body>
</soap:Envelope>
Comments
Клиентская веб-служба должна быть настроена до отправки запроса на подписку на push-уведомление; В противном случае первое уведомление не будет отправлено в действительную конечную точку, и push-уведомление завершится ошибкой. Дополнительные сведения см. в разделе Пример приложения push-уведомлений.
При повторной подписке создается новый Идентификатор подписки (GetEvents ). Используйте подложку предыдущей подписки для повторной подписки в точке окончания предыдущей подписки.
Элементы запроса принудительной подписки
В запросе используются следующие элементы:
Пример успешного ответа принудительной подписки
Описание
В следующем примере показан успешный ответ принудительной подписки.
Код
<?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>
<SubscribeResponse 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">
<ResponseMessages>
<SubscribeResponseMessage ResponseClass="Success">
<ResponseCode>NoError</ResponseCode>
<SubscriptionId>83826921-afdf-48be-b469-628cc02b5f49</SubscriptionId>
<Watermark>AQAAAOpvG0LURVdOhQkPOWZLPcI8EgAAAAAAAAE=</Watermark>
</SubscribeResponseMessage>
</ResponseMessages>
</SubscribeResponse>
</soap:Body>
</soap:Envelope>
Элементы ответа принудительной подписки
В ответе используются следующие элементы: