2012-03-16 18 views
7

estoy tratando de obtener la solicitud XML:¿por qué getLastRequest no devuelve nada?

$cgProxy = new SoapClient($WSDL_URL,array('trace' => 1)); 

try { 
     $result = $cgProxy->OrderCreate($cgOrder); 

} catch (SoapFault $exc) { 
     var_dump($exc); 
     echo "Request:\n" . $cgProxy->__getLastRequest(), "\n"; 
     echo "Response:\n" . $cgProxy->__getLastResponse() . "\n"; 
} 

Con este recibo el error del servidor de jabón del vertedero $ exc. Pero el getLastRequest no parece devolver nada. ¿Alguna idea?

También he intentado con htmlspecialchars() y htmlentities() sin éxito. . .

+0

¿Alguna vez resolvió esto? También tengo una situación en la que estoy enviando una matriz de parámetros, y aún __getLastResponse() muestra envoltorios vacíos de SOAP sin que se pasen parámetros. – TonyTheJet

+0

Tuve el mismo problema, no se mostró nada. Encontré la respuesta en el código fuente de la página (ábrala a través del menú contextual de su navegador). –

Respuesta

11

getLastRequest():

Este método funciona sólo si el objeto SoapClient fue creado con la opción de rastreo establecido en TRUE.

$client = new SoapClient("http://myservice/?WSDL",array("trace"=>1)); 

en este caso me sirve.

+0

También tengo este problema y tengo la función de rastreo habilitada para que esto no solucione el problema. – SublymeRick

+0

Correcto, el problema existía para mí con el rastreo establecido en verdadero, como mostré en mi publicación original. – evan

3

Quizás porque el XML en su navegador no se imprime como una cadena. Si es así, intentar algo como esto:

echo "REQUEST:\n" . htmlentities($client->__getLastRequest()) . "\n"; 
+0

No me ayudó, pero definitivamente vale la pena verificarlo/ser consciente de esto como una posibilidad. – johnsnails

1

Sé que es tarde, pero ...

Su posible que usted está en realidad nunca realizar la consulta. Si PHP no puede crear la llamada SOAP, nunca llegará al punto donde está enviando la solicitud XML. Verifique su registro de errores para detectar errores de PHP SOAP.

Cuestiones relacionadas