PHP Conference Japan 2024

SoapClient::__getLastResponseHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponseHeaders返回上次响应的 SOAP 标头

描述

public SoapClient::__getLastResponseHeaders(): ?string

返回上次响应的 SOAP 标头。

注意:

此函数仅在 SoapClient 对象创建时将 trace 选项设置为 true 时有效。

参数

此函数没有参数。

返回值

最后一个 SOAP 响应标头。

示例

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

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

参见

添加注释

用户贡献的注释 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
noncey
9 年前
对于可能在 PHP 脚本中设置为较长超时的长时间运行的脚本,请注意,即使您使用的是与当前正在运行的脚本不同的新 Web 地址,IIS 连接超时设置也不会在您启动 SOAP 调用时重新启动。

因此,我们注意到一个似乎没有从 Web 服务返回标头的 SOAP 调用。发现它与 IIS 超时有关。这是在 IIS 7.5 中。解决方案是在网站/域级别提高 IIS 的连接超时。

发生这种情况时,没有捕获任何错误或异常,因此您唯一的指示是您没有标头信息。
To Top