Ошибки и состояния, возвращаемых веб-службой Office 365 Reporting

Помимо стандартных кодов ответов HTTP, Веб-служба отчетов Office 365 возвращает ошибки в случае возникновения проблем при обработке запроса. В этом разделе описываются эти ошибки, рекомендации для предотвращения их, где это возможно и помогает разработчикам устранять свои приложения Веб-служба отчетов .

Дата последнего изменения: 17 сентября 2015 г.

Область применения: Office 365

Где указаны ошибки

Существует четыре основных мест, где вы получите ошибки:

Коды ответов HTTP

Как и любая служба HTTP веб- Веб-служба отчетов может возвращать коды ответов HTTP. Стандартное местоположение для их определения является http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html. В частности следить за эти ошибки:

  • HTTP 400 Ошибочный запрос: это возвращается, если запрос содержит вопросы синтаксиса или предоставили конфликтующие сведения о запросе. Вы также получите полезные данные об ошибке в ответе Atom или JSON с более подробными сведениями.

  • HTTP 403: Запрещено: вы получите это при передаче учетные данные, или ошибочный или учетная запись имеет недостаточные права администратора или запрашивается отчет, что нет прав для доступа к.

  • HTTP 404: Не найдено: очень часто во время разработки, если неправильное имя отчета.

< ServiceFault > XML-документа и объект JSON Error

Большинство ошибок, которые можно будет увидеть во время разработки, берутся из неправильных запросов, неверный столбец имен и т. д. При их получении их внимательно прочитайте, как они часто сообщают точно где именно. Ниже приведен пример возвращено сообщение об ошибке в формате JSON. Это первый из них является результатом неправильного ввода имени столбца.

  {
    "error":
      {
        "code":"",
        "message":
          {
            "lang":"en-US",
            "value":"Type 'TenantReporting.MailFilterListReport' does not have a property named 'Organizations'; 
            there is no service action named 'Organizations' that is bindable to the type 
           'TenantReporting.MailFilterListReport'; and there is no type with the name 'Organizations'."
          } 
      }
  }

Эта ошибка была возвращена в формате Atom, когда синтаксис параметр $filter был неправильно, в данном случае является строка даты и времени в неверном формате.

<?xml version="1.0" encoding="utf-8"?>
<m:error xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  <m:code />
  <m:message xml:lang="en-US">Unrecognized 'Edm.DateTime' literal 'datetime'2013010T00:00:00'' in '86'.</m:message>
</m:error>

Приложение также следует иметь в виду он может получать ошибки отчетом и обрабатывать их соответствующим образом. К счастью после отладки логики создания URI, эти ошибки будут редко.

Пустой отчет о результатах

В некоторых случаях результаты отчета, которые становятся пустыми полностью верны. В других случаях мелких ошибок, такие как неправильное написание имени пользователя, получение неправильный регистр на правила транспорта, и другие незначительные проблемы будет казаться, что хорошо работают, но не результаты. Одна ошибка раздражает подобные пытается вызвать отчет MailDetail: он всегда возвращает данные, поэтому не трудитесь попытки.

Возникающие в коде исключения

Определенно всегда перехватывать исключения в коде. Однако часто эти ошибки являются обычные ответы на обычные ошибки в протоколе HTTP обработки и не всегда относятся к Веб-служба отчетов.

Предотвращение проблем

В следующем списке описаны рекомендации, которые помогут избежать трудной задачи по устранению неполадок во время разработки и использования:

  • Не кэширует сервисного документа или MailFilterList приводит к слишком долго. Не требуется получать их каждые десять минут, но в больших организациях с нескольких или многих администраторов, происходят изменения в имена политик и правил и должен корректно обрабатывать эти редкие изменения системы.

  • Убедитесь, что служба доступна , перед выполнением запроса отчета. Не думайте, что служба работает. Проверьте периодически запрашивает документ службы и убедитесь, что отчет, который требуется вызвать. Необходимо сделать это каждого запроса, но определенно когда приложение запускается.

  • Всегда использовать выходные данные MailFilterList имен. Имена таких операций, как Предотвращение утечки данных политики и правила имен часто вводятся в форму человека администратором и ошибок правописания. Полагаться на результаты MailFilterList, позволяет гарантировать правильность имен, которые передаются в Веб-служба отчетов .

  • Использования и проверки $metadata. Документ $metadata включает все имена полей для каждого отчета. Рассмотрите возможность извлечения, проверки и использовать эти имена из запуска приложения. Кроме того вы должны внимательно проверьте имена столбцов, которые использует приложение такие же, как в документе $metadata.

  • Включить версию службы в запросеи проверьте, что ответ имеет тот же. Будьте внимательны, однако только выбранная версия этой службы один раз. Приложения можно указать в HTTP-заголовок, или в качестве параметра в ОСТАЛЬНОЙ URI. Если указать оба Веб-служба отчетов возвращает сообщение об ошибке, даже если указать одну и ту же версию служб в обоих местах.

  • Не разрешать перенаправление в HttpWebRequest. AllowAutoRedirect значение false.

  • Убедитесь, что HTTP Content-Length заголовок ответа соответствует длине буфера ответов перед их передачей для синтаксического анализа XML и перед обработкой данных JSON в браузер. Если передать частичный ответ в любом может привести к проблемам, основной и слабая.

  • Явно задать Accept-Language Заголовка HTTP-запроса. В настоящее время нет ничего не локализовано, получаемую с Веб-служба отчетов, однако, можно изменить и если вашим клиентам с разных языковых и региональных параметров, приложение может отображать сведения неправильно.

  • Вернуть все файлы cookie, сервер отправлено приложению следующего запроса.

  • Ссылки "Изменить" Пропустить некоторые отчеты возврата <link rel="edit" title="" ... /> записи в формате Atom результатов. Данные отчета всегда доступен только для чтения, и приложение не следует пытаться использовать ссылки для изменения данных.

  • Не сохранять имена пользователей и пароли как текстовых констант в приложении и если их необходимо запросить от пользователя, их безопасное хранение в .NET FrameworkSecureString.

  • Укажите средство ведения журнала. Когда приложение обнаруживает ошибки веб-службы, сети и среды выполнения, он должен иметь возможность регистрироваться все о запросе и ответе. Это поможет устранить неполадки и может потребоваться, если служба поддержки пользователей Майкрософт для устранения неполадок в Office 365.

  • Не вызывать MailDetails отчет, как он всегда возвращает пустой отчет.

Простых ошибок

Ниже перечислены некоторые проблемы, наблюдалось при создании и разработке образца приложения. Они были все распространенные процессы, пока мы здесь работаем, знакомы с обращения в отчет:

  • Тщательно проверьте имена столбцов документации.

  • Тщательно проверить Именование отчета. HTTP 404 ошибки возвращаются при неверное имя отчета. Во избежание этого рекомендуется использовать только имена отчетов, находящиеся в документе описания службы Reporting.svc .

  • При сопоставлении элементов, которые она охватывает только имена из отчета MailFilterList . Обработки событий, политики и имена правил сообщения следует получить из данного документа для обеспечения правильной орфографии и действительно существует значение.

  • При использовании StartDateнеобходимо включить EndDate. Они помечаются как необязательные, но если включить один должен быть другой.

  • При использовании StartDate и EndDate даты, используйте правильный синтаксис Заметно более строгим, чем другие стандарты ODATA синтаксис при указании значений даты и времени. Примитивные типы данных ODATA спецификации сведения.

  • Запомнить datetime и guid приведения типов в параметрах $filter. При приведении значения datetime и guid строки, выполняется фильтрация с не вы получите ошибок несовместимости типов данных.

  • Не все отчеты используют StartDate и EndDate. Дополнительные сведения содержатся в разделе Как: укажите отчетов диапазонов времени.

  • Не запрашивать обновления дважды.

  • ODATA позволяет только одному из каждого параметра запроса. Не включать два варианта $filter , например.

Нормальные условия, которые выглядят, как проблемы

Следующие условия Иногда кажется, что возникли неполадки, разработчикам и пользователям, но может быть нормально для Веб-служба отчетов:

  • Сразу же данные недоступны. Большинство типов сведения о обработки почты, сообщения трассировки и т. д. доступны отчеты в течение нескольких часов. Однако ни один из данных будет отображаться «быстро». Очень часто Создание учетных записей пользователей и почтовых ящиков изменения не будут доступны до следующего дня календаря, таким образом, может означать, что задержка в 48 часов. Приложения должны учитывать и соответствующим образом ожиданий пользователей.

  • Пустой отчет, результаты иногда обычныйили возникают из-за ограничения времени диапазонов или строгое условие соответствия. Если это нормально для приложения, следует предоставить пользователю знать, что отчет запрос выполнен успешно, но данные не были каким-то образом.

  • В зависимости от объема подробных данных отчетов может занять больше, чем пару секунд . Приложение должно времени, сколько времени отчеты для получения и предоставления состояния ожиданий пользователей соответствующим образом. Может также появиться ошибки таймаута витрине данных могли повторить.

  • Максимальное число строк равно 2000 , может возвращать любой отчет.

  • Все отчеты не поддерживаются параметры $orderby и $top; Проверьте в справочной документации по отчет, который вы используете, чтобы узнать, поддерживает ли эти параметры запроса. Некоторые отчеты эти параметры игнорируются и не указывают на ошибки.

  • Данные отчета со временем удаляется. Большинство данных сохраняется в течение одного года, а данные сообщения трассировки хранятся только в течение 40 дней. Подробные сообщения трассировки данных доступен только для 48 часов из метода обработки окончательного сообщения. Имейте это в виду, как набор отчетов диапазоны времени и попробуйте проблем с доставкой сообщений трассировки.

  • Lync пользователи должны войти в свою учетную запись организации. Пользователи организации могут присутствовать конференциях Lync как «Гость» или войти в свою учетную запись пользователя. Ресурсы конференций, перечисленные в отчетах нарастающим итогом только минут для участников, которые посещение войти в свою учетную запись организации. Кроме того не минут собираются для участников конференции на мобильном устройстве. Да, читать эти права: если они конференции через мобильный, они не попадали (пока).

  • Участие Lync через мобильные устройства не включаются. Ни один из отчетов Lync включают сеансы и время используется участниками для мобильных устройств.

  • Lync отчеты включают только самостоятельно организованных конференций Отчеты Lync возвращают количество времени и сеансов только конференций, которые были организованы по организации пользователя. Поскольку разные планы Lync Online могут не включать возможность организовывать конференции, но по-прежнему могут иметь возможность участвовать в них, число конференций, организованных в рамках этого клиента может никем всегда возвращать нуль.

  • MxRecordReport, OutboundConnectorReport и ServiceDeliveryReport отчет только текущие условия Эти три отчета возвращают сведения о текущей конфигурации и состояния системы Office 365. Они не возвращают исторические или сводные данные.

Неконтролируемых событий

Веб-служба отчетов Office 365 — это встроенная служба, получение данных из разнообразных источников и центрами обработки данных. Ниже перечислены некоторые вещи, приложения могут возникнуть у мало или совсем нет управления через:

  • Веб-служба отчетов зависит от Exchange Online инфраструктура. По этой причине если служба Exchange Online недоступна из-за запланированных и незапланированных простоев, Веб-служба отчетов могут также быть недоступны.

  • Exchange Server политики регулирования может повлиять на время отклика. Если приложение создает большое количество запросов или веб-сайта мониторинга используется учетная запись службы единого для сбора всех данных отчетности, могут возникнуть регулирование запросов. В Office 365Администраторы организации не контролирует параметры полосы пропускания, и не могут их даже читать, текущие параметры. Будьте внимательны, о том, насколько Office 365 ресурсы, которые вы принимаете на себя.

  • Отложенный или потеряно соединение в витрину данных. Иногда при баз данных отчетов, в условиях интенсивной нагрузки или обновляются с большим количеством новой информации, Веб-служба отчетов может стать временно недоступен, или время ожидания. Появляется сообщение об ошибке ConnectionFailedException будет "Failed to connect to the datamart." или аналогичный. Это не проблема с приложением, но следует повторить запрос и в конечном итоге Сообщите пользователям, что данные или службы могут быть недоступны.