ID: 38163 User updated by: imthiazj2 at hcl dot in Reported By: imthiazj2 at hcl dot in -Status: Feedback +Status: Open Bug Type: SOAP related Operating System: Solaris PHP Version: 5.1.4 Assigned To: dmitry New Comment:
Warning: SoapClient::__doRequest() expects exactly 4 parameters, 5 given in /home/amudha/B16/galad/apache/htdocs/faultperf/l/php/a.php on line 11 Fatal error: SoapClient::__doRequest(): Invalid parameters in /home/amudha/B16/galad/apache/htdocs/faultperf/l/php/a.php on line 11 After correcting the error: NULL NULL Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /home/amudha/B16/galad/apache/htdocs/faultperf/l/php/a.php:15 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://127.0.0....', 'test://#test', 1) #1 [internal function]: SoapClient->__call('test', Array) #2 /home/amudha/B16/galad/apache/htdocs/faultperf/l/php/a.php(15): SoapClient->test() #3 {main} thrown in /home/amudha/B16/galad/apache/htdocs/faultperf/l/php/a.php on line 15 Previous Comments: ------------------------------------------------------------------------ [2006-07-27 11:01:22] [EMAIL PROTECTED] Please run the following script from command line and provide output. <?php $server = stream_socket_server('tcp://127.0.0.1:31337'); $location = "http://127.0.0.1:31337/"; $client = new SoapClient(NULL, array( "connection_timeout" => 4, "location" => $location, "uri" => "test://", "features"=>SOAP_WAIT_ONE_WAY_CALLS)); ini_set('default_socket_timeout', 2); $result = $client->__doRequest("",$location,"",1,1); var_dump($result); $result = $client->__doRequest("",$location,"",1); var_dump($result); $client->test(); fclose($server); ?> ------------------------------------------------------------------------ [2006-07-27 10:06:33] imthiazj2 at hcl dot in Still it gets hangup. Is it possible to mention non-blocking mode of connection in soap request ------------------------------------------------------------------------ [2006-07-26 10:12:35] [EMAIL PROTECTED] I cannot reproduce hangup. 1. May be your web server runs just one process and cannot accept connection. Try to add "connection_timeout" into SoapClient constructor. $client = new SoapClient(NULL, array("connection_timeout => 10, ... 2. In case if you are calling one-way operation without response, you should add additional argument (one_way operation) to __doRequest() call. result = $client->__doRequest("",$locationwithdata,"",1,1); ------------------------------------------------------------------------ [2006-07-25 14:57:59] imthiazj2 at hcl dot in I don't connect to soap server, I connect it to http server. Nothing is sent back to the php. ------------------------------------------------------------------------ [2006-07-25 09:23:32] [EMAIL PROTECTED] SoapClient::__doRequest() shouldn't return fault it should return SOAP response (XML representation). Use SoapClient::__soapCall() instead and you will get fault. BTW PHP shouldn't hang. How does SOAP server respond? (HTTP headers, timeouts, response body) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/38163 -- Edit this bug report at http://bugs.php.net/?id=38163&edit=1