From: jan at pinna dot nl Operating system: Windows Server 2003 PHP version: 5.1.4 PHP Bug Type: SOAP related Bug description: _very_ long processing time before sending SOAP request with large data
Description: ------------ I try to access a webservice over SSL which goes great. The other party 'abused' the webservice to retrieve data from me, which I 'set' as a parameter. This is a 'large' amount of data: 4,5MB. I can't get this done. It seems that there is a large timing problem with it because I get CGI timeouts, NAT firewall timeouts, etc. I tried, with 110K data the processing time before sending the data is 3minutes. With the whole file, it's _way_ more. But I think the problem seems that the socket is already opening a port. Then, after a long period, she wants to send data thru it. There it goes wrong (I think because of a linking/timing problem with NAT, if it takes so long before data send/receive over the line which was opened before). I think this, because when I turn off NAT, it works. Where I first got incomplete headers, forced broken SSL connections, w/o NAT he really starts, after alot of minutes, sending the data. I think PHP should send its data quicker. If you want, I can send you the file I try to send. Reproduce code: --------------- <? $opts = array( 'ssl' => array( 'local_cert' => 'keys.pem', 'passphrase' => 'abcdefg', 'allow_self_signed' => true ) ); $ctx = stream_context_create($opts); $options = array( 'stream_context' => $ctx, "trace" => 1, "exceptions" => 1, "location"=> 'https://xxx.xxx.yyy.zzz/InterbankIncaBTWebService/IncassoRelatieWebservice', 'local_cert' => 'keys.pem', 'passphrase' => 'abcdefg'); $client = new SoapClient('wsdl/IncassoRelatieServiceService.wsdl', $options); try { $filename = "__INPUT/1000188815-8-0-000000012-20060524.xml"; $handle = fopen ($filename, "r"); $contents = fread ($handle, filesize ($filename)); print utf8_decode($client->setPortefeuilleoverzichten('1000188815',$contents)); } catch(SoapFault $exception) { $msg = $exception->__toString(); print_r($msg); } ?> Expected result: ---------------- Some OK text which I normally receive from the WS. Actual result: -------------- CGI timeout, after I turn up all the timeouts there are I got broken connections reported, "read timed out" errors from the server side, load of 100% for php in windows, etc. -- Edit bug report at http://bugs.php.net/?id=37827&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=37827&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=37827&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=37827&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=37827&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=37827&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=37827&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=37827&r=needscript Try newer version: http://bugs.php.net/fix.php?id=37827&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=37827&r=support Expected behavior: http://bugs.php.net/fix.php?id=37827&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=37827&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=37827&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=37827&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37827&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=37827&r=dst IIS Stability: http://bugs.php.net/fix.php?id=37827&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=37827&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=37827&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=37827&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=37827&r=mysqlcfg