SoapClient::__getLastResponseHeaders()
(PHP 5, PHP 7)
Returns the SOAP headers from the last response
说明
public SoapClient::__getLastResponseHeaders(void): string
Returns the SOAP headers from the last response.
Note:This function only works if the SoapClient object was created with thetraceoption set to
TRUE
.
参数
此函数没有参数。
返回值
The last SOAP response headers.
范例
Example #1 SoapClient::__getLastResponse()example
<?php $client = SoapClient("some.wsdl", array('trace' => 1)); $result = $client->SomeFunction(); echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n"; ?>
参见
- SoapClient::__getLastRequestHeaders() Returns the SOAP headers from the last request
- SoapClient::__getLastRequest() Returns last SOAP request
- SoapClient::__getLastResponse() Returns last SOAP response
Note SoapClient does not wait for a response for one-way operations (i.e. <wsdl:operation>s that do not have a <wsdl:response>)! To see if a request failed, use $sc = new SoapClient( 'some.wsdl', array('features'=>SOAP_WAIT_ONE_WAY_CALLS)); See http://bugs.php.net/bug.php?id=36083 and http://bugs.php.net/bug.php?id=49278
For long running scripts which may be set to a longer timeout in the PHP script, be aware that the IIS connection timeout settings do not restart when you initiate a SOAP call even though you are using a new web address than your current running script. Because of this, we noted a SOAP call that seemed to not return headers from a Web Service. It was found to be related to IIS timing out. This was in IIS 7.5. The resolution was to increase the connection timeout for IIS at the website/domain level. There were no faults or exceptions captured when this occurred so your only indicator is that you have no header information.