php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #60329 New SoapClient keep_alive option
Submitted: 2011-11-18 13:18 UTC Modified: 2024-09-07 19:22 UTC
Votes:21
Avg. Score:4.4 ± 0.7
Reproduced:18 of 19 (94.7%)
Same Version:4 (22.2%)
Same OS:4 (22.2%)
From: pierrick@php.net Assigned: nielsdos (profile)
Status: Closed Package: SOAP related
PHP Version: 5.4.0RC1 OS:
Private report: No CVE-ID: None
 [2011-11-18 13:18 UTC] pierrick@php.net
Description:
------------
When using the SoapClient you may sometime have this error :

SoapClient::__doRequest(): send of 776 bytes failed with errno=32 Broken pipe

The problem is that some servers that you're calling are closing the connection 
after some time. To fix this problem you need to use the "Connection: close" 
HTTP Header. The only way to do it currently is to use a stream_context with the 
1.0 HTTP protocol version :

$socket_context = stream_context_create(
       array('http' => array('protocol_version'  => 1.0))
);
$soapClient = new \SOAPClient($serviceUrl, array('stream_context' => 
$socket_context));

It would be nice to have a new option "keep_alive" that you can disable like 
this :

$soapClient = new \SOAPClient(ServiceUrl, array('keep_alive' => false));


Test script:
---------------
$soapClient = new \SOAPClient(ServiceUrl, array('keep_alive' => false));

Expected result:
----------------
Request with "Connection: close" header

Actual result:
--------------
Request with "Connection: Keep-alive" header

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-11-18 13:24 UTC] pierrick@php.net
Automatic comment from SVN on behalf of pierrick
Revision: http://svn.php.net/viewvc/?view=revision&revision=319472
Log: Added new SoapClient option "keep_alive". FR #60329
 [2011-11-18 13:24 UTC] pierrick@php.net
-Summary: New keep_alive option +Summary: New SoapClient keep_alive option -Status: Open +Status: To be documented
 [2011-11-18 13:24 UTC] pierrick@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2024-09-07 19:22 UTC] nielsdos@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: nielsdos
 [2024-09-07 19:22 UTC] nielsdos@php.net
Thank you for your bug report. This issue has already been fixed
in the latest released version of PHP, which you can download at
http://www.php.net/downloads.php

The status of this ticket is that it has to be documented still, but looking at https://www.php.net/manual/en/soapclient.construct.php I do see it in the documentation. I don't know _when_ this was documented but it certainly is documented now.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC