SoapClient::__getLastRequest

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequestGibt die letzte SOAP-Anfrage zurück

Beschreibung

public string SoapClient::__getLastRequest ( void )

Gibt das in der letzten SOAP-Anfrage gesendete XML zurück.

Hinweis:

Diese Methode funktioniert nur, wenn das SoapClient-Objekt mit der Option trace erstellt und diese auf TRUE gesetzt wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die letzte SOAP-Anfrage als XML-Zeichenkette.

Beispiele

Beispiel #1 SoapClient->__getLastRequest()-Beispiel

<?php
$client 
SoapClient("ein.wsdl", array('trace' => 1));
$result $client->EineFunktion();
echo 
"ANFRAGE:\n" $client->__getLastRequest() . "\n";
?>

Siehe auch

add a note add a note

User Contributed Notes 5 notes

up
7
Anonymous
4 years ago
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";

?>
up
3
mayurvirkar at gmail dot com
1 year ago
Just to make it a bit more readable

echo "REQUEST:\n" . htmlentities(str_ireplace('><', ">\n<", $client->__getLastRequest())) . "\n";
echo "Response:\n" . htmlentities(str_ireplace('><', ">\n<", $client->__getLastResponse())) . "\n";

PS: If you are using \n then you need to enclose above statements in <pre>. You can also use <br />, but it gets a bit messy.
up
2
Ersin DOGAN
5 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.
up
1
LZhang
2 months ago
Creating an xml file and link to the file is my way.

$outputxml = '/output.xml';

file_put_contents($_SERVER['DOCUMENT_ROOT'] . $outputxml, $client->__getLastRequest());

echo '<a href="' . $outputxml . '">here</a>';
up
-2
Omar Nabil
5 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
To Top