Я хочу проверить мои заголовки http, которые отправляются через SoapClient .
Тем не менее он предлагает только быстрые функции для получения заголовков Soap:
/** * Returns the SOAP headers from the last request * @link http://php.net/manual/en/soapclient.getlastrequestheaders.php * @return string The last SOAP request headers. * @since 5.0.1 */ public function __getLastRequestHeaders () {}
Меня это не интересуют.
Как узнать, какие заголовки HTTP были использованы для запроса на уровне HTTP?
Xdebug теряет контекст в _call
и клиент, похоже, не может извлечь эту информацию сам по себе.
Как действовать?
Я закончил тем, что использовал Wireshark. Я сконфигурировал мой SoapClient, чтобы просто опубликовать его против моего локального IP-адреса, для меня это было 10.49.57.28.
Я захватил any
интерфейс.
Сначала мне пришлось включить протоколы с помощью: Ctrl + Shift + E. Я выбрал «Включить все».
Я использовал фильтр:
http.request.method == "POST" and ip.addr == 10.49.57.28
Я щелкнул правой кнопкой по соответствующему запросу и использовал:
Следуйте> поток TCP
И там у меня была вся соответствующая информация запроса:
POST / HTTP/1.1 Host: 10.49.57.28 Accept: */* Accept-Encoding: deflate, gzip SOAPAction: "" Content-Type: text/xml; charset=utf-8 Content-Length: 2085 Expect: 100-continue HTTP/1.1 100 Continue <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope ...
Конечно, ответ будет ошибкой, но меня это не интересовало.