Операция ResolveNames
Операция ResolveNames разрешает неоднозначные адреса электронной почты и отображаемые имена.
Использование операции ResolveNames
Эту операцию можно использовать для проверки псевдонимов и разрешения отображаемых имен для соответствующего пользователя почтового ящика. Если существуют неоднозначные имена, в ответе операции ResolveNames содержатся сведения о каждом пользователе почтового ящика, чтобы клиентское приложение пользовалось разрешением имен.
Замечания
Ответ ResolveNames возвращает не более 100 кандидатов. Возвращаемые 100 кандидатов — это первые 100, которые встречаются в операции поиска.
Email адреса с префиксными типами маршрутизации, такими как SMTP или SIP, сохраняются в многозначном массиве. Операция ResolveNames выполняет частичное совпадение с каждым значением этого массива при добавлении типа маршрутизации в начало неразрешенного имени, например sip:User1@Contoso.com. Если тип маршрутизации не указан, ResolveNames будет по умолчанию использовать тип маршрутизации smtp, сопоставлять его со свойством основного smtp-адреса и не выполнять поиск в многозначном массиве.
В одном запросе можно указать только одно неоднозначное имя. Сначала выполняется поиск в Active Directory, а затем выполняется поиск в папке контактов пользователя. Разрешенные записи из папки контактов пользователя имеют свойство ItemId , отличное от null, которое затем можно использовать в запросе GetItem. Если это идентификатор частного списка рассылки, его можно использовать в операции ExpandDL. Если для атрибута ReturnFullContactData задано значение true, то записи Active Directory, найденные с помощью операции ResolveNames , будут возвращать дополнительные свойства, описывающие контакт. Атрибут ReturnFullContactData не влияет на данные, возвращаемые для контактов и частных списков рассылки из папки контактов пользователя.
Пример запроса ResolveNames
Описание
В следующем примере запроса ResolveNames показано, как разрешить запись пользователя.
Код
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<ResolveNames xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
ReturnFullContactData="true">
<UnresolvedEntry>User2</UnresolvedEntry>
</ResolveNames>
</soap:Body>
</soap:Envelope>
Comments
Ответ на этот запрос вернет все записи, которые начинаются с "Jo" или "Mi". Возвращаемыми элементами являются общедоступные почтовые ящики, общедоступные и частные списки рассылки, а также контакты.
Примечание.
Поиск выполняется только в личной папке Контактов по умолчанию.
Ниже приведены возможные результаты запроса ResolveNames .
Ответы, которые не содержат разрешенную сущность, возвращают значение атрибута ResponseClass , равное Error. Элемент MessageText будет содержать сообщение " Результаты не найдены".
Ответы, содержащие одну разрешенную сущность, возвращают значение атрибута ResponseClass , равное Success.
Ответы, содержащие несколько возможных сущностей, возвращают значение атрибута ResponseClass , равное Warning. В этом случае сущность не может быть разрешена в уникальное удостоверение. Элемент MessageText будет содержать "Найдено несколько результатов".
Элементы запроса
В запросе используются следующие элементы:
Пример ответа успешной операции ResolveNames
Описание
В следующем примере показан успешный ответ на запрос ResolveNames .
Код
<?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>
<ResolveNamesResponse 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:ResolveNamesResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:ResolutionSet TotalItemsInView="1" IncludesLastItemInRange="true">
<t:Resolution>
<t:Mailbox>
<t:Name>User2</t:Name>
<t:EmailAddress>User2@example.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
<t:Contact>
<t:DisplayName>User2</t:DisplayName>
<t:EmailAddresses>
<t:Entry Key="EmailAddress1">SMTP:User2@example.com</t:Entry>
</t:EmailAddresses>
<t:ContactSource>ActiveDirectory</t:ContactSource>
</t:Contact>
</t:Resolution>
</m:ResolutionSet>
</m:ResolveNamesResponseMessage>
</m:ResponseMessages>
</ResolveNamesResponse>
</soap:Body>
</soap:Envelope>
Элементы ответа Successful ResolveNames
В ответе используются следующие элементы:
Ответ об ошибке операции ResolveNames
Описание
В следующем примере показан ответ на ошибку на запрос ResolveNames . Ошибка вызвана попыткой устранить имя, которое не удается устранить.
Код
<?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>
<ResolveNamesResponse 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:ResolveNamesResponseMessage ResponseClass="Error">
<m:MessageText>No results were found.</m:MessageText>
<m:ResponseCode>ErrorNameResolutionNoResults</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
</m:ResolveNamesResponseMessage>
</m:ResponseMessages>
</ResolveNamesResponse>
</soap:Body>
</soap:Envelope>
Элементы ответа на ошибку
В ответе на ошибку используются следующие элементы: