PHP Conference Japan 2024

SoapClient::__getLastResponseHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponseHeaders傳回最後一次回應的 SOAP 標頭

說明

public SoapClient::__getLastResponseHeaders(): ?string

傳回最後一次回應的 SOAP 標頭。

注意:

只有在使用 trace 選項設定為 true 的情況下建立 SoapClient 物件時,此函式才能正常運作。

參數

此函式沒有參數。

回傳值

最後一次 SOAP 回應的標頭。

範例

範例 #1 SoapClient::__getLastResponse() 範例

<?php
$client
= SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo
"回應標頭:\n" . $client->__getLastResponseHeaders() . "\n";
?>

另請參閱

新增註釋

使用者貢獻的註釋 2 則註釋

2
jeroen{at}asystance{dot}nl
15 年前
注意 SoapClient 不會等待單向操作的回應(即沒有 <wsdl:response> 的 <wsdl:operation>)!要查看請求是否失敗,請使用
$sc = new SoapClient( 'some.wsdl', array('features'=>SOAP_WAIT_ONE_WAY_CALLS));

參見 http://bugs.php.net/bug.php?id=36083http://bugs.php.net/bug.php?id=49278
1
noncey
9 年前
對於可能在 PHP 指令碼中設定較長逾時的長時間執行指令碼,請注意,即使您使用的是與目前執行指令碼不同的網址,當您啟動 SOAP 呼叫時,IIS 連線逾時設定也不會重新啟動。

因此,我們注意到一個 SOAP 呼叫似乎沒有從 Web 服務傳回標頭。發現這與 IIS 逾時有關。這是 IIS 7.5 的情況。解決方案是在網站/網域層級增加 IIS 的連線逾時。

發生這種情況時,沒有擷取到任何錯誤或例外,因此您唯一的指標是您沒有標頭資訊。
To Top