Это очень, очень трудно (почти невозможно) сделать это. Гораздо проще использовать встроенную функцию отладки класса SoapClient
для вывода запроса после его отправки. Вы можете сделать это так:
Во-первых, при создании SOAPClient включите трассировку следующим образом:
$client = new SoapClient($wsdl, array('trace' => true));
Затем выполните любую необходимую обработку, чтобы подготовиться к выполнению вызова SOAP и выполнить его. После того, как это будет сделано, следующий запрос даст вам только что отправленный запрос:
echo("<pre>"); //to format it legibly on your screen
var_dump($client->__getLastRequestHeaders()); //the headers of your last request
var_dump($client->__getLastRequest()); //your last request
И, если вы хотите увидеть ответ, должно работать следующее:
var_dump($client->__getLastResponseHeaders()); //response headers
var_dump($client->__getLastResponse()); //the response