Adding htmlentities() can be helpful since it makes the XML visible in your browser without needing to view the source.
<?php
echo "REQUEST:\n" . htmlentities($client->__getLastRequest()) . "\n";
?>
SoapClient::__getLastRequest
(PHP 5 >= 5.0.1)
SoapClient::__getLastRequest — Returns last SOAP request
Descrierea
public string SoapClient::__getLastRequest
( void
)
Returns the XML sent in the last SOAP request.
Notă:
This method works only if the SoapClient object was created with the trace option set to
TRUE.
Parametri
Această funcție nu are parametri.
Valorile întoarse
The last SOAP request, as an XML string.
Exemple
Example #1 SoapClient::__getLastRequest() example
<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>
Vedeți de asemenea
- SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
- SoapClient::__getLastResponse() - Returns last SOAP response
- SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
Anonymous ¶
3 years ago
Ersin DOGAN ¶
4 years ago
I guess many peoples calls getLastRequest and it returns nothing. "Heey where is the my last request". Now we will see our request, when you created a SoapClient instance, you should give a option parameter as below :
<?php
// below $option=array('trace',1);
// correct one is below
$option=array('trace'=>1);
$client=new SoapClient('some.wsdl',$option);
try{
$client->aMethodAtRemote();
}catch(SoapFault $fault){
// <xmp> tag displays xml output in html
echo 'Request : <br/><xmp>',
$client->__getLastRequest(),
'</xmp><br/><br/> Error Message : <br/>',
$fault->getMessage();
}
?>
"trace" parameter enables output of request. Now, you should see SOAP request.
Omar Nabil ¶
4 years ago
the getLastResult function doesn't require that the server answers.
as my browser handled and hided the xml code I thought the function doesn't return the last request
