Проверка подключения к MS Exchange-серверу с помощью Postman

Проверка подключения к MS Exchange-серверу с помощью Postman

Вопросы и ответы по интеграции сервера BOOCO с другими ИТ-системами

Для версий BOOCO Astra (v 2.x) и BOOCO Meteor (v 1.x)

Исходные требования

  • ПК с установленным Postman, который имеет доступ к MS Exchange/EWS
  • Поддержка Basic-авторизации в EWS (Postman поддерживает также NTLM в виде beta)
  • Учетная запись в MS Exchange
  • 💡
    Можно также использовать утилиту curl — в идеале непосредственно с хоста, где установлен сервер BOOCO, или еще лучше из контейнера.

Проверка доступа к календарю

В Postman:

  1. Введите адрес Exchange-сервера и выберите метод POST.
  2. На вкладке Authorization выберите Basic Auth и введите логин и пароль.
  3. image
  4. На вкладке Headers укажите:
    • Accept = text/xml
    • Content-Type = text/xml
    • image
  5. На вкладке Body:
    • выберите формат raw и тип xml;
    • скопируйте и вставьте текст запроса:
    • <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
        xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
      >
        <soap:Header>
          <t:RequestServerVersion Version="Exchange2015" />
        </soap:Header>
        <soap:Body>
          <m:FindItem Traversal="Shallow">
            <m:ItemShape>
              <t:BaseShape>IdOnly</t:BaseShape>
              <t:AdditionalProperties>
                <t:FieldURI FieldURI="calendar:AppointmentState" />
              </t:AdditionalProperties>
            </m:ItemShape>
            <m:CalendarView
              MaxEntriesReturned="1000"
              StartDate="2024-07-19T12:22:29.906Z"
              EndDate="2024-07-29T12:22:29.906Z"
            />
            <m:ParentFolderIds>
              <t:DistinguishedFolderId Id="calendar">
                <t:Mailbox>
                  <t:EmailAddress>user2@booco.ru</t:EmailAddress>
                </t:Mailbox>
              </t:DistinguishedFolderId>
            </m:ParentFolderIds>
          </m:FindItem>
        </soap:Body>
      </soap:Envelope>
    • замените значения в полях EmailAddress и Version на те, которые используются у вас (можно также отредактировать StartDate и EndDate).
    • image
  6. Выполните запрос.
  7. Пример ответа:

    <?xml version="1.0" encoding="utf-8" ?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Header>
        <h:ServerVersionInfo
          MajorVersion="15"
          MinorVersion="2"
          MajorBuildNumber="1544"
          MinorBuildNumber="11"
          Version="V2017_07_11"
          xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
          xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        />
      </s:Header>
      <s:Body
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      >
        <m:FindItemResponse
          xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
          xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
        >
          <m:ResponseMessages>
            <m:FindItemResponseMessage ResponseClass="Success">
              <m:ResponseCode>NoError</m:ResponseCode>
              <m:RootFolder TotalItemsInView="0" IncludesLastItemInRange="true">
                <t:Items />
              </m:RootFolder>
            </m:FindItemResponseMessage>
          </m:ResponseMessages>
        </m:FindItemResponse>
      </s:Body>
    </s:Envelope>