GetWindowsDirectory
@GetWindowsDirectory
PHP Senior Developer

SoapClient в PHP: как получить HTTP заголовки?

Добрый день! Ситуация следующая: имеется мой веб-сервер и SOAP-сервер некой организации. Веб-сервер, используя SoapClient в PHP5, круглые сутки с довольно частой периодичностью вызывает API SOAP-сервера. В некоторые дни (обычно ночью) вдруг все API запросы к SOAP-серверу заканчиваются локальным SoapClient-исключением «Error Fetching http headers». Все это продолжается некоторое время, обычно несколько часов, далее все работает хорошо. Проблема заключается в том, что SOAP-сервер успешно обрабатывает эти вызовы, а мы, из-за исключения, считаем их ошибочными. По тексту ошибки понятно, что проблема в получении HTTP заголовков ответа SOAP-сервера. В сети предлагают увеличить таймауты SoapClient, но это не помогло. Очевидно, что ошибка на стороне SOAP-сервера, но хотелось бы в этом убедиться.


Собственно, вопрос состоит вот в чем: каким способом можно получить HTTP заголовки этих SOAP-вызовов? Судя по документации SoapClient в PHP, средствами интерпретатора этого сделать нельзя. Тогда, быть может, стоит запустить сниффер? В конечном итоге нужно убедиться, что заголовки от SOAP-сервера не верны.


Дополнительная информация: на веб-сервере ОС Debian, PHP 5.3.7.


Благодарю!
  • Вопрос задан
  • 7414 просмотров
Пригласить эксперта
Ответы на вопрос 3
@cat_crash
Возможно есть более порстой способ. Но если не найдете — Wireshark (tcpdump) вам однозначно поможет
Ответ написан
@sychevivan
Может быть попробовать SoapUi, там можно загрузить схему и выполнить запрос. Вот что у меня видно в ответе:
HTTP/1.1 200 OK
Date: Wed, 31 May 2023 06:41:11 GMT
Server: Apache
Last-Modified: Wed, 31 May 2023 06:41:11 GMT
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8


Но у меня почему-то Content-Type успешного ответа и ошибки могут быть разными.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы