Opération d'abonnementSubscribe operation

L’opération subscribe est utilisée pour abonner des applications clientes à des notifications de type pousser ou tirer.The Subscribe operation is used to subscribe client applications to either push or pull notifications. Il est important de savoir que la structure des messages de demande et des réponses diffère en fonction du type de notification d’événement.It is important to be aware that the structure of the request messages and responses is different depending on the type of event notification.

Exemple de demande d’abonnement extraitePull Subscription Subscribe request example

DescriptionDescription

L’exemple de code suivant montre comment s’abonner à un abonnement de notification d’événement d’extraction.The following code example shows how to subscribe to a pull event notification subscription. L’abonnement informe l’application cliente si un nouveau message est ajouté à la boîte de réception et si un élément est supprimé de la boîte de réception.The subscription informs the client application if new mail is added to the Inbox and if an item is deleted from the Inbox. L’abonnement expire si le client ne demande pas d’informations sur les événements dans les dix minutes.The subscription will time out if the client does not request information about events within ten minutes. Si l’abonnement expire, un nouvel abonnement doit être établi pour continuer à demander des notifications.If the subscription expires, a new subscription must be established to continue to request notifications.

CodeCode

<?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>
    <Subscribe xmlns="https://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>

Éléments de demande d’abonnement extraitPull Subscription Subscribe Request Elements

Les éléments suivants sont utilisés dans la demande :The following elements are used in the request:

Pour rechercher d’autres options pour le message de demande de l’opération subscribe, explorez la hiérarchie du schéma.To find other options for the request message of the Subscribe operation, explore the schema hierarchy. Commencez par l’élément PullSubscriptionRequest .Start at the PullSubscriptionRequest element.

Exemple de réponse de subscribe avec abonnement extraitSuccessful Pull Subscription Subscribe response example

DescriptionDescription

L’exemple suivant montre une réponse à un abonnement extrait.The following example shows a successful pull subscription response. La réponse contient l’identificateur d’abonnement et le filigrane qui est utilisé pour obtenir le tableau des événements qui sont associés à un abonnement.The response contains the subscription identifier and watermark that is used to get the array of events that are associated with a subscription. L’identificateur d’abonnement est également utilisé pour annuler l’abonnement à un client à partir d’un abonnement.The subscription identifier is also used to unsubscribe a client from a subscription.

CodeCode

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

Éléments de réponse de l’abonnement extraitPull Subscription Subscribe response elements

Les éléments suivants sont utilisés dans la réponse :The following elements are used in the response:

Exemple de réponse d’erreur subscribe d’abonnement extraitPull Subscription Subscribe Error response example

DescriptionDescription

L’exemple suivant montre une réponse d’erreur à une demande subscribe.The following example shows an error response to a Subscribe request. L’erreur est due à une tentative de s’abonner à des notifications à l’aide de l’accès délégué.The error is caused by an attempt to subscribe to notifications by using delegate access.

CodeCode

<?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="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <SubscribeResponse 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: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>

Éléments de réponse aux erreurs d’abonnement extraitPull Subscription Error response elements

Les éléments suivants sont utilisés dans la réponse d'erreur :The following elements are used in the error response:

Exemple de demande d’abonnement par envoiPush Subscription request example

DescriptionDescription

L’exemple de code suivant montre comment s’abonner à un abonnement de notification d’événement poussé.The following code example shows how to subscribe to a push event notification subscription. La demande identifie les dossiers à surveiller, les types d’événements à surveiller, la fréquence des notifications d’État et l’URL du service Web client qui écoute les notifications de type transmission.The request identifies the folders to monitor, the types of events to monitor, the frequency of status notifications, and the URL of the client Web service that listens for the push notifications.

CodeCode

<?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>
    <Subscribe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <PushSubscriptionRequest xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
        <FolderIds xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
          <DistinguishedFolderId Id="inbox" />
        </FolderIds>
        <EventTypes xmlns="https://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="https://schemas.microsoft.com/exchange/services/2006/types">1</StatusFrequency>
        <URL xmlns="https://schemas.microsoft.com/exchange/services/2006/types">http://clientWebService/Service.asmx</URL>
      </PushSubscriptionRequest>
    </Subscribe>
  </soap:Body>
</soap:Envelope>

CommentairesComments

Le service Web client doit être configuré avant l’envoi de la demande subscribe de notifications d’envoi ; dans le cas contraire, la première notification ne sera pas envoyée à un point de terminaison valide et la notification de transmission échouera.The client Web service must be set up before the push notification subscribe request is sent; otherwise, the first notification will not be sent to a valid endpoint and the push notification will fail. Pour plus d’informations, reportez-vous à l' exemple d’application de notification par transmission.For more information, see Push Notification Sample Application.

Une nouvelle SubscriptionId (GetEvents) est créée lorsque vous vous réabonnez.A new SubscriptionId (GetEvents) is created when you resubscribe. Utilisez le filigrane d’un abonnement précédent pour vous réabonner au point où l’abonnement précédent s’est terminé.Use the watermark of a previous subscription to resubscribe at the point where the previous subscription ended.

Éléments de demande d’abonnement par envoiPush Subscription Request Elements

Les éléments suivants sont utilisés dans la demande :The following elements are used in the request:

Exemple de réponse d’abonnement par envoi réussiSuccessful Push Subscription response example

DescriptionDescription

L’exemple suivant montre une réponse d’abonnement par envoi réussi.The following example shows a successful push subscription response.

CodeCode

<?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>
    <SubscribeResponse 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">
      <ResponseMessages>
        <SubscribeResponseMessage ResponseClass="Success">
          <ResponseCode>NoError</ResponseCode>
          <SubscriptionId>83826921-afdf-48be-b469-628cc02b5f49</SubscriptionId>
          <Watermark>AQAAAOpvG0LURVdOhQkPOWZLPcI8EgAAAAAAAAE=</Watermark>
        </SubscribeResponseMessage>
      </ResponseMessages>
    </SubscribeResponse>
  </soap:Body>
</soap:Envelope>

Éléments de réponse d’abonnement par envoiPush Subscription response elements

Les éléments suivants sont utilisés dans la réponse :The following elements are used in the response:

Voir aussiSee also

Opération de résiliation d'abonnementUnsubscribe operation

Opération de GetEventsGetEvents operation

Utilisation des abonnements extraitsUsing Pull Subscriptions

Exemple d'application de notification PushPush Notification Sample Application