ID:               47314
 Updated by:       tony2...@php.net
 Reported By:      bernd dot ott at k-m dot info
-Status:           Open
+Status:           Assigned
 Bug Type:         SOAP related
 Operating System: Windows
 PHP Version:      5.2CVS-2009-02-05 (snap)
-Assigned To:      
+Assigned To:      dmitry


Previous Comments:
------------------------------------------------------------------------

[2009-02-05 13:33:35] bernd dot ott at k-m dot info

Description:
------------
Call to a Soapserver with the SoapClient leaves after a function call
tcp-connection in state "time_wait".

depending on your server your server get unreachable, because all
workers are allocated by the waiting connections.

the sample code leaves 100 open connections.


if you call more than on function you get more open connections.
the soapclient doesnt reuse the open connection.
(this is not shown in the sample)

the connections you can see in netstat or tcpview (sysinternals)


Reproduce code:
---------------
Client:

<?php    
  $i=100;
  while ($i>0) {
   $sc = new SoapClient(null, array('location' =>
"http://localhost/server.php";,
                                     'uri'      =>
"http://test-uri/";));
   echo $sc->__soapcall("test", array('test'))."\r\n";
   flush();
   
    $i -= 1;  
  }



Server:
<?php
function test($x)
{
    return $x."hallo";
}

$server = new SoapServer(null, array('uri' => "http://test-uri/";));
$server->addFunction("test");
$server->handle();

Expected result:
----------------
Client opens connection, does the function call and terminates
connection.

after correct close the should no connections in state "time_wait".

Actual result:
--------------
100 connections are in time_wait status.



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=47314&edit=1

Reply via email to