Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.13.0

Request #11123 Slow receiving result from Server when using Transport_HTTP
Submitted: 2007-05-24 09:30 UTC Modified: 2007-06-27 10:13 UTC
From: greubel Assigned: greubel
Status: Closed Package: SOAP (version 0.10.1)
PHP Version: 5.2.1 OS: Linux
Roadmaps: (Not assigned)    
Subscription  


 [2007-05-24 09:30 UTC] greubel (Maik Greubel)
Description: ------------ When the webserver (in my case Apache 2.2.2) runs connections in keep-alive mode with an keep-alive time of 15 seconds, the fread() in _sendHTTP will receive the xml response and than wait for the eof, which is only send at closing the connection. In most cases the connection will result in a timeout soap_fault, because the timeout value is 4 seconds per default. You will get some response when complete disable timeout via SOAP_*()-parameter. Example: $wsdl = new SOAP_WSDL('http://someurl.com/soap.php?wsdl', array('timeout' => 0)); As recommended in different papers dynamic content should not transfered using keep-alive connections, and this is causing the problem. The attached patch will solve this problem by setting connection type to "close". You can also decrease the keep-alive time or disable the this mode complete in the webserver configuration of your soap service.

Comments

 [2007-06-27 10:13 UTC] cweiske (Christian Weiske)
This bug has been fixed in CVS. If this was a documentation problem, the fix will appear on pear.php.net by the end of next Sunday (CET). If this was a problem with the pear.php.net website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better. Thank you very much for the patch.