ummmm, ok.
pero te recuerdo que en la clase mySoap se sobre escribe el metodo __doRequest desde el cual podrias obtener las headers, ahora si lo que quieres es explorarlo mediante php se podria hacer algo adicional como lo que sigue:
nota: me tome un ratito y he modificado la clase publicada en el post que mensionas para anexarte una forma en la que se podria extraer el header.
Código PHP:
Ver original<?php
class mySoap extends SoapClient {
//miembro interno para contener el header obtenido
private $responseHeaders = array();
function __doRequest($request, $location, $saction, $version) {
$doc = new DOMDocument('1.0');
$doc->loadXML($request);
$objWSSE = new WSSESoap($doc);
$objWSSE->addUserToken("YOUR_USERNAME_HERE", "YOUR_PASSWORD_HERE", TRUE);
//lo que hacemos es modificar el llamado a __doRequest.
//return parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
$response = parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
//Analizamos la respuesta para extraer el encabezado
$dom = new DOMDocument;
$dom->loadXML( $response, LIBXML_NOWARNING );
$path = new DOMXPath( $dom );
$path->registerNamespace( 'soap', 'http://schemas.xmlsoap.org/soap/envelope/');
$xml = $path->query('//soap:Header/*');
$this->responseHeaders=$this->headers2array($xml);
return $response;
}
//Anexamos un nuevo metodo para realizar una pequeña conversion
private function headers2array($response){
foreach ($response as $node) {
if($node->hasChildNodes()){
$headers[$node->nodeName]=$this->headers2array($node->childNodes);
}else{
$headers[$node->nodeName]=$node->nodeValue;
}
}
return $headers;
}
//Solicitamos se nos entregue el headers extraido
public function getResponseHeaders(){
return $this->responseHeaders;
}
}
como puedes observar he adaptado un poco el metodo __doRequest para que intercepte y analice la respuesta obtenida y nos permita extraer las headers, posteriormente retorna la respuesta obtenida inicialmente.
como usarlo? desde el objeto cliente basta con que llame al metodo nuevo llamado getResponseHeaders().
Código PHP:
Ver originalecho "=======Las Headers=======<br/>";
print_r($sClient->getResponseHeaders());
si alguien sabe alguna otra forma de obtener las headers sin montar todo esto, seria bueno que nos lo hiciera saber, gracias.
Saludos.