Поделиться через


Операция 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>

Элементы ответа на ошибку

В ответе на ошибку используются следующие элементы:

См. также

Операция ExpandDL

Использование разрешения имен