SoapClient::__getLastResponseHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponseHeadersReturns the SOAP headers from the last response

Description

public SoapClient::__getLastResponseHeaders(): ?string

Returns the SOAP headers from the last response.

Note:

This function only works if the SoapClient object was created with the trace option set to true.

Parameters

This function has no parameters.

Return Values

The last SOAP response headers.

Examples

Example #1 SoapClient::__getLastResponse() example

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

See Also

add a note add a note

User Contributed Notes 2 notes

up
2
jeroen{at}asystance{dot}nl
15 years ago
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
up
1
noncey
9 years ago
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.
To Top