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

由于这个原因,我们注意到一个 SOAP 调用似乎没有从 Web 服务返回头信息。后来发现它与 IIS 超时有关。这是在 IIS 7.5 中发生的。解决方法是在网站/域级别增加 IIS 的连接超时。

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