SoapClient::__getLastRequest
(PHP 5, PHP 7, PHP 8)
SoapClient::__getLastRequest — 直近の SOAP リクエストを返す
パラメータ
この関数にはパラメータはありません。
戻り値
直近の SOAP リクエストを XML 文字列で返します。
例
例1 SoapClient::__getLastRequest() の例
<?php
$client = new SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>
参考
- SoapClient::__getLastRequestHeaders() - 直近の SOAP リクエストヘッダを返す
- SoapClient::__getLastResponse() - 直近の SOAP レスポンスを返す
- SoapClient::__getLastResponseHeaders() - 直近の SOAP レスポンスヘッダを返す
+add a note
User Contributed Notes 5 notes
Anonymous ¶
14 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";
?>
hejdavladislav at gmail dot com ¶
8 years ago
Note that when you create SoapClient with option "trace" set to FALSE or omit it, than "__getLastRequest()" always returns NULL.
Ersin DOGAN ¶
15 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.
mayurvirkar at gmail dot com ¶
11 years 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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google