Операция ConvertId
Найдите сведения об операции ConvertId EWS.
Операция ConvertId Exchange Web Services (EWS) преобразует идентификаторы элементов и папок между форматами, которые принимаются Exchange Online, Exchange Online как часть Office 365 и локальными версиями Exchange, начиная с Exchange Server 2013 года.
Использование операции ConvertId
Следующие идентификаторы можно преобразовать с помощью операции ConvertId :
Формат идентификатора для EWS в начальной версии Exchange 2007. Это значение представлено значением
EwsLegacyId
перечисления в перечислении IdFormat .Формат идентификатора для EWS в Exchange 2007 с пакетом обновления 1 (SP1) или Exchange 2010. Это значение представлено значением
EwsId
перечисления в IdFormat.Идентификатор MAPI, как в свойстве PR_ENTRYID . Это значение представлено значением
EntryId
перечисления в перечислении IdFormat .Идентификатор события календаря доступности. Это шестнадцатеричное представление свойства PR_ENTRYID . Это значение представлено значением
HexEntryId
перечисления в IdFormat.Идентификатор хранилища Exchange. Это значение представлено значением
StoreId
перечисления в IdFormat. Операция ConvertId не преобразует идентификаторы общедоступных папок из идентификатора EWS в идентификатор хранилища.Идентификатор Outlook Web App. Это значение представлено значением перечисления
OwaId
в IdFormatПередача URL-адресов, созданных из этого идентификатора, в Outlook Web App не поддерживается. Идентификатор Outlook Web App применим к Exchange 2007 и Exchange 2010. Outlook Web App для Exchange Online и версий Exchange, начиная с Exchange Server 2013 года, использует идентификаторы EWS.
Операция ConvertId не работает должным образом при преобразовании идентификаторов общедоступных папок из идентификатора EWS в идентификатор хранилища в Exchange Online и Exchange 2013. Вы можете вручную обновить идентификатор, возвращаемый в качестве обходного решения. Чтобы вручную обновить идентификатор, выполните следующие действия:
В коде приложения определите, находится ли целевой элемент или папка в общедоступной папке.
Декодирование строки идентификатора в кодировке Base64.
Убедитесь, что байт типа (21-й байт) имеет значение 7. Значение 7 указывает, что идентификатор имеет неправильный формат.
Пропустите первые четыре байта. Они должны быть равны нулю.
Обновите следующие 16 байтов следующим идентификатором GUID: 1A47390AA6611CD9BC800AA002FC45A
Обновите следующий байт (тип byte) со значением 9.
Измените идентификатор на строку в кодировке Base64.
Примечание.
Операция ConvertId проверяет, имеет ли заданный SMTP-адрес допустимый формат. Операция не определяет, представляет ли SMTP-адрес допустимый почтовый ящик.
Операция ConvertId может использовать заголовки SOAP, перечисленные в следующей таблице.
Таблица 1. Заголовки SOAP операции ConvertId
Header | Элемент | Описание |
---|---|---|
Олицетворение |
ExchangeImpersonation |
Определяет пользователя, которого олицетворяет клиентское приложение. Это применимо к запросу. |
RequestVersion |
RequestServerVersion |
Определяет версию схемы для запроса операции. Это применимо к запросу. |
ServerVersion |
ServerVersionInfo |
Определяет версию сервера, который ответил на запрос. Это применимо к ответу. |
Пример запроса операции ConvertId
В следующем примере запроса ConvertId показано, как преобразовать идентификатор EWS в идентификатор Outlook Web App.
Элемент RequestServerVersion в заголовке SOAP должен иметь значение Exchange2007_SP1 или более поздней, чтобы эта операция работала.
Примечание.
Идентификатор элемента сокращен для сохранения удобочитаемости.
<?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:Header>
<t:RequestServerVersion Version="Exchange2010"/>
</soap:Header>
<soap:Body>
<ConvertId xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://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>
Пример ответа операции ConvertId
В следующем примере показан успешный ответ на запрос ConvertId . Этот пример ответа содержит идентификатор Outlook Web App.
Примечание.
Идентификатор Outlook Web App сокращен, чтобы сохранить удобочитаемость.
<?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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ConvertIdResponse xmlns="http://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>
Пример ответа на ошибку операции ConvertId
В следующем примере показан ответ на запрос, содержащий неправильный тип формата идентификатора.
<?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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ConvertIdResponse xmlns="http://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>
Различия версий
Формат идентификатора EWS изменялся в исходной версии Exchange 2007 и Exchange 2007 с пакетом обновления 1 (SP1). Exchange Online в составе Office 365, Exchange Online и локальных версий Exchange, начиная с Exchange 2010, используют тот же формат идентификатора, что и Exchange 2007 с пакетом обновления 1 (SP1).
Операция ConvertId преобразует идентификаторы общедоступных папок из идентификатора EWS в идентификатор хранилища в Exchange 2007 и Exchange 2010.