Opération ConvertId

Recherchez des informations sur l’opération EWS ConvertId .

L’opération ConvertId Exchange Web Services (EWS) convertit les identificateurs d’élément et de dossier entre les formats acceptés par Exchange Online, les Exchange Online dans le cadre de Office 365 et les versions locales d’Exchange à partir de Exchange Server 2013.

Utilisation de l’opération ConvertId

Vous pouvez convertir les identificateurs suivants à l’aide de l’opération ConvertId :

  • Format d’identificateur pour EWS dans la version initiale d’Exchange 2007. Cela est représenté par la valeur d’énumération EwsLegacyId dans l’énumération IdFormat .

  • Format d’identificateur pour EWS dans Exchange 2007 SP1 ou Exchange 2010. Cela est représenté par la valeur d’énumération EwsId dans IdFormat.

  • Identificateur MAPI, comme dans la propriété PR_ENTRYID . Cela est représenté par la valeur d’énumération EntryId dans l’énumération IdFormat .

  • Identificateur d’événement du calendrier de disponibilité. Il s’agit d’une représentation hexadécimale de la propriété PR_ENTRYID . Cela est représenté par la valeur d’énumération HexEntryId dans IdFormat.

  • Identificateur de la banque Exchange. Cela est représenté par la valeur d’énumération StoreId dans IdFormat. L’opération ConvertId ne convertit pas les identificateurs de dossier public de l’identificateur EWS en identificateur de magasin.

  • Identificateur Outlook Web App. Ceci est représenté par la valeur d’énumération OwaId dans IdFormat

    Le passage d’URL créées à partir de cet identificateur à Outlook Web App n’est pas pris en charge. L’identificateur Outlook Web App s’applique à Exchange 2007 et Exchange 2010. Outlook Web App pour Exchange Online et versions d’Exchange à partir de Exchange Server 2013 utilise des identificateurs EWS.

L’opération ConvertId ne fonctionne pas comme prévu lors de la conversion des identificateurs de dossier public de l’identificateur EWS en identificateur de magasin dans Exchange Online et Exchange 2013. Vous pouvez mettre à jour manuellement l’identificateur retourné comme solution de contournement. Pour mettre à jour manuellement l’identificateur :

  1. Dans le code de votre application, déterminez si l’élément/dossier cible se trouve dans un dossier public.

  2. Décodez la chaîne d’identificateur encodée en Base64.

  3. Vérifiez que le type byte (21e octet) a la valeur 7. La valeur 7 indique que l’identificateur est au format incorrect.

  4. Ignorez les quatre premiers octets. Elles doivent être définies sur zéro.

  5. Mettez à jour les 16 octets suivants avec le GUID suivant : 1A447390AA6611CD9BC800AA002FC45A

  6. Mettez à jour l’octet suivant (type byte) avec la valeur 9.

  7. Remplacez l’identificateur par une chaîne encodée en Base64.

Remarque

L’opération ConvertId vérifie qu’une adresse SMTP donnée a un format valide. L’opération ne détermine pas si une adresse SMTP représente une boîte aux lettres valide.

L’opération ConvertId peut utiliser les en-têtes SOAP répertoriés dans le tableau suivant.

Tableau 1. En-têtes SOAP de l’opération ConvertId

Header Élément Description
Emprunt d’identité
ExchangeImpersonation
Identifie l’utilisateur que l’application cliente emprunte l’identité. Cela s’applique à une demande.
RequestVersion
RequestServerVersion
Identifie la version du schéma pour la demande d’opération Ceci s’applique à une requête.
ServerVersion
ServerVersionInfo
Identifie la version du serveur qui a répondu à la requête. Cela s’applique à une réponse.

Exemple de demande d’opération ConvertId

L’exemple suivant de demande ConvertId montre comment convertir un identificateur EWS en identificateur Outlook Web App.

L’élément RequestServerVersion dans l’en-tête SOAP doit être défini sur Exchange2007_SP1 ou une version ultérieure pour que cette opération fonctionne.

Remarque

Identificateur de l'élément a été raccourcie afin de préserver la lisibilité.

<?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:Header>
    <t:RequestServerVersion Version="Exchange2010"/>
  </soap:Header>
  <soap:Body>
    <ConvertId xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
               DestinationFormat="OwaId">
      <SourceIds>
        <t:AlternateId Format="EwsId" Id="AAMkAGZhN2IxYTA0LWNiNzItN="
                       Mailbox="user1@example.com"/>
      </SourceIds>
    </ConvertId>
  </soap:Body>
</soap:Envelope>

Exemple de réponse d’opération ConvertId

L’exemple suivant montre une réponse réussie à une requête ConvertId . Cet exemple de réponse contient un identificateur Outlook Web App.

Remarque

L’identificateur Outlook Web App a été raccourci pour préserver la lisibilité.

<?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="1" 
                         MajorBuildNumber="191" MinorBuildNumber="0" 
                         Version="Exchange2010" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <ConvertIdResponse xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <ResponseMessages>
        <ConvertIdResponseMessage ResponseClass="Success">
          <ResponseCode>NoError</ResponseCode>
          <AlternateId xsi:type="t:AlternateIdType" Format="OwaId" Id="RgAAAAAS2%2" 
                         Mailbox="user@example.com" />
        </ConvertIdResponseMessage>
      </ResponseMessages>
    </ConvertIdResponse>
  </soap:Body>
</soap:Envelope>

Exemple de réponse d’erreur d’opération ConvertId

L’exemple suivant montre la réponse à une requête qui contient le mauvais type de format d’identificateur.

<?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>
    <ServerVersionInfo MajorVersion="8" MinorVersion="1" 
                       MajorBuildNumber="206" MinorBuildNumber="0"
                       Version="Exchange2010" 
                       xmlns="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <ConvertIdResponse xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <ResponseMessages>
        <ConvertIdResponseMessage ResponseClass="Error">
          <MessageText>Id is malformed.</MessageText>
          <ResponseCode>ErrorInvalidIdMalformed</ResponseCode>
          <DescriptiveLinkKey>0</DescriptiveLinkKey>
        </ConvertIdResponseMessage>
      </ResponseMessages>
    </ConvertIdResponse>
  </soap:Body>
</soap:Envelope>

Différences entre les versions

Le format de l’identificateur EWS a changé entre la version initiale d’Exchange 2007 et Exchange 2007 Service Pack 1 (SP1). Exchange Online dans le cadre des versions Office 365, Exchange Online et locales d’Exchange à compter d’Exchange 2010 utilisent le même format d’identificateur qu’Exchange 2007 SP1.

L’opération ConvertId convertit les identificateurs de dossier public de l’identificateur EWS en identificateur de magasin dans Exchange 2007 et Exchange 2010.

Voir aussi