Bug #73538 [Opn->Csd]: SoapClient::__setSoapHeaders doesn't overwrite SOAP headers

From: Date: Sun, 20 Nov 2016 20:19:53 +0000
Subject: Bug #73538 [Opn->Csd]: SoapClient::__setSoapHeaders doesn't overwrite SOAP headers
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-205486@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73538&edit=1 ID: 73538 Updated by: nikic@php.net Reported by: phpbugs at agares dot info Summary: SoapClient::__setSoapHeaders doesn't overwrite SOAP headers -Status: Open +Status: Closed Type: Bug Package: SOAP related Operating System: Windows 10, Ubuntu 16.10 PHP Version: 7.0.13 Block user comment: N Private report: N New Comment: Automatic comment on behalf of git@duncanc.co.uk Revision: http://git.php.net/?p=php-src.git;a=commit;h=685b1292e9a050ec413662c4b7dcf69030d2010c Log: Fix bug #73538 Previous Comments: ------------------------------------------------------------------------ [2016-11-16 09:13:42] phpbugs at agares dot info Description: ------------ When I pass an array of headers to __setSoapHeaders, subsequent calls do not overwrite the previous headers. It works correctly when I pass a single object to that method. Test script: --------------- <?php $client = new \SoapClient(null, [ 'trace' => 1, 'exceptions' => true, 'uri' => '', 'location' => '', ]); $client->__setSoapHeaders([new \SoapHeader('ns', 'Header', ['something' => 1])]); $client->__setSoapHeaders([new \SoapHeader('ns', 'Header', ['something' => 2])]); try { $client->__soapCall('SomeMethod', ['a' => 'b']); } catch(\Exception $e) { } var_dump($client->__getLastRequest()); var_dump($client->__getLastRequestHeaders()); Expected result: ---------------- Can't post the whole XML because of spam detection, so just a fragment: ><SOAP-ENV:Header><ns2:Header><item><key>something</key><value>1</value></item></ns2:Header></SOAP-ENV:Header> Actual result: -------------- ><SOAP-ENV:Header><ns2:Header><item><key>something</key><value>2</value></item></ns2:Header></SOAP-ENV:Header> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73538&edit=1

« previous php.bugs (#205486) next »