note 108148 added to soapclient.dorequest

From: Date: Mon, 02 Apr 2012 12:29:46 +0000
Subject: note 108148 added to soapclient.dorequest
Groups: php.notes 
Request: Send a blank email to php-notes+get-186938@lists.php.net to get a copy of this message
Change Blocking mode for Socket stream and set Timeout for Soap requests <?php class TimeoutSoapClient extends SoapClient { const TIMEOUT = 20; public function __doRequest($request, $location, $action, $version, $one_way = 0) { $url_parts = parse_url($location); $host = $url_parts['host']; $http_req = 'POST '.$location.' HTTP/1.0'."\r\n"; $http_req .= 'Host: '.$host."\r\n"; $http_req .= 'SoapAction: '.$action."\r\n"; $http_req .= "\r\n"; $http_req .= $request; $port = 80; if ($url_parts['scheme'] == 'https') { $port = 443; $host = 'ssl://'.$host; } $socket = fsockopen($host, $port); fwrite($socket, $request); stream_set_blocking($socket, false); $response = ''; $stop = microtime(true) + self::TIMEOUT; while (!feof($socket)) { $response .= fread($socket, 2000); if (microtime(true) > $stop) { throw new SoapFault('Client', 'HTTP timeout'); } } return $response; } } ---- Server IP: 69.147.83.197 Probable Submitter: 109.162.198.244 ---- Manual Page -- http://www.php.net/manual/en/soapclient.dorequest.php Edit -- https://master.php.net/note/edit/108148 Del: integrated -- https://master.php.net/note/delete/108148/integrated Del: useless -- https://master.php.net/note/delete/108148/useless Del: bad code -- https://master.php.net/note/delete/108148/bad+code Del: spam -- https://master.php.net/note/delete/108148/spam Del: non-english -- https://master.php.net/note/delete/108148/non-english Del: in docs -- https://master.php.net/note/delete/108148/in+docs Del: other reasons-- https://master.php.net/note/delete/108148 Reject -- https://master.php.net/note/reject/108148 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#186938) next »