phone +7 (495) 66 014 66

× Общий раздел

Использование средств мониторинга сети для диагностики ошибок при работе с web-сервисами.

5 года 9 мес. назад #4922 от Дмитрий
Использование средств мониторинга сети для диагностики ошибок при работе с web-сервисами.
При работе с web-сервисами нередко возникают ошибки, которые трудно диагностировать по сообщению об ошибке, выдаваемому 1С:Предприятием. Это могут быть:

• Ошибки конфигурирования поддержки web-сервисов
• Ошибки определения web-сервисов в конфигурации
• Ошибки сети
• Ошибки при работе с прокси-сервером
• и др.

Большинство из этих ошибок трудно диагностировать стандартными средствами. В данной статье описывается применение средств мониторинга сети для диагностирования таких ошибок.

Существует много программ мониторинга сети. Это, например, встроенные в Windows Server 2003 средства мониторинга сети, Wireshark, MS Soap Toolkit, Apache Axis Soap Monitor и др. Первые два не требуют специальной настройки и могут использоваться для мониторинга любого сетевого трафика. Последние два могут использоваться только для мониторинга HTTP Soap трафика и требуют перенаправления вызова на специальный порт перехвата.

Далее на примере монитора сети Wireshark мы покажем, как отслеживать те данные, которые передаются между клиентом и сервером и на основе их анализа определять характер наблюдаемых ошибок. Wireshark является свободно распространяемой программой с открытым исходным кодом.

Перед началом работы необходимо скачать монитор сети Wireshark c сайта www.wireshark.org и установить его на клиентский компьютер, с которого идет вызов web-сервисов. Под Windows, если требуется мониторинг localhost, то необходимо ознакомиться с wiki.wireshark.org/CaptureSetup/Loopback.

Wireshark выполняет мониторинг сети средствами операционной системы и поэтому не требует дополнительной настройки web-сервисов (например, перевода вызова на специальный порт перехвата и т.д.), все выполняется прозрачно.

Для запуска мониторинга нужно открыть диалог захвата интерфейсов "Capture/Interfaces...", выбрать в диалоге устройство сетевой карты, для которой предполагается вести мониторинг, и выполнить запуск, нажав кнопку "Start". После этого Wireshark будет вести мониторинг любых пакетов, передаваемых через выбранную сетевую карту. Для остановки мониторинга нужно выполнить "Capture/Stop".
Передаваемые пакеты будут выводиться в основном окне программы в виде списка. Для каждого пакета может быть выведена такая информации как: время создания, отправитель, получатель, протокол, дополнительные данные и др. Wireshark понимает большое количество протоколов, но для нашего случая интересен HTTP протокол. Для того чтобы получить список только HTTP пакетов, нужно в поле "Filter" главного окна программы задать "http" и нажать кнопку "Apply". Wireshark имеет развитые средства фильтрации. Можно фильтровать, например, по протоколу, по отправителю, получателю и др. (см. документацию Wireshark).

Для каждого выбранного в списке пакета Wireshark показывает данные пакета в разрезе стека протоколов. Например, для http пакета показывается информация по Frame 1, Ethernet II, IP, TCP и HTTP. Наиболее интересными для нас являются данные HTTP, где можно для запросов посмотреть тип запроса (GET, POST, ...), запрашиваемый ресурс, HTTP заголовки и данные запроса. Для ответов показывается HTTP статус, HTTP заголовки ответа и данные ответа. Если данные в формате xml, то Wireshark позволяет вывести их в иерархическом виде (вместо набора шестнадцатеричных данных), что очень удобно при анализе SOAP запросов.

Рассмотрим основные типы ошибок, которые могут возникнуть при работе с web-сервисами.
• Ошибки подключения. Анализируя данные пакета запроса можно понять, почему клиент не подключается к серверу. Например, запрос идет к прокси-серверу, вместо обращения по локальной сети, минуя прокси-сервер, либо web-сервер не запущен и др.
• Ресурс не найден. Если HTTP статус ответа содержит код 404, это означает, что запрашиваемый ресурс не найден. Такая ошибка может возникнуть вследствие либо неправильной настройки поддержки web-сервисов на web-сервере, либо неправильном указании url web-сервиса, которого физически нет на сервере.
• Внутренняя ошибка сервера. Наиболее частая ошибка, возникающая при работе с web-сервисами. HTTP статус ответа содержит в этом случае код 500, а тело ответа содержит данные, описывающие характер

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.062 секунд