2016-11-15 7 views
0

Я хочу проверить свои заголовки http, отправленные через SoapClient.Как получить заголовки 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, и клиент, похоже, не может извлечь эту информацию сам по себе.

Как действовать?

ответ

0

Я закончил использовать Wireshark. Я сконфигурировал мой SoapClient, чтобы просто опубликовать его против моего локального IP-адреса, для меня это было 10.49.57.28.

Я захватил интерфейс any.

Сначала мне пришлось включить протоколы с помощью: Ctrl + Shift + E. Я выбрал «Включить все».

Я использовал фильтр:

http.request.method == "POST" and ip.addr == 10.49.57.28 

я право нажал соответствующую просьбу и используется:

Follow> 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 ... 

Конечно, ответ будет ошибкой, но я не был заинтересован в этом.