#37827 [Fbk->Opn]: _very_ long processing time before sending SOAP request with large data
| From: | jan at pinna dot nl | Date: | Fri, 16 Jun 2006 21:26:42 +0000 |
| Subject: | #37827 [Fbk->Opn]: _very_ long processing time before sending SOAP request with large data | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-98425@lists.php.net to get a copy of this message | ||
ID: 37827
User updated by: jan at pinna dot nl
Reported By: jan at pinna dot nl
-Status: Feedback
+Status: Open
Bug Type: SOAP related
Operating System: Windows Server 2003
PHP Version: 5.1.4
New Comment:
I'll try it at monday. hope it works...
Is there any reason to believe it should, due to fixes..?
Please let me know otherwise I have to look further. It is not always a
solution to get the latest revision ;)
Thanks for now!
J.
Previous Comments:
------------------------------------------------------------------------
[2006-06-16 15:16:06] bjori@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-06-16 15:11:20] jan at pinna dot nl
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 this bug report at http://bugs.php.net/?id=37827&edit=1