#45263 [Opn->Fbk]: behavior similar to Bug #35582 Socket Timeout on SOAP request causes program
| From: | jani@php.net | Date: | Thu, 03 Jul 2008 12:26:21 +0000 |
| Subject: | #45263 [Opn->Fbk]: behavior similar to Bug #35582 Socket Timeout on SOAP request causes program | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-126237@lists.php.net to get a copy of this message | ||
ID: 45263
Updated by: jani@php.net
Reported By: mimiller at ncsa dot uiuc dot edu
-Status: Open
+Status: Feedback
-Bug Type: Reproducible crash
+Bug Type: SOAP related
Operating System: Windows
PHP Version: 5.2.5
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows (zip):
http://snaps.php.net/win32/php5.2-win32-latest.zip
For Windows (installer):
http://snaps.php.net/win32/php5.2-win32-installer-latest.msi
Previous Comments:
------------------------------------------------------------------------
[2008-06-13 14:55:28] mimiller at ncsa dot uiuc dot edu
$uri='https://somewhere.com/test'
should read
$uri='https://testvenue3.somewhere.com/VenueServer'
------------------------------------------------------------------------
[2008-06-13 14:53:39] mimiller at ncsa dot uiuc dot edu
Description:
------------
I am seeing behavior in PHP5.2.5 on windows similar to what's described
in Bug #35582 Socket Timeout on SOAP request causes program
termination. Maybe need to repopen that bug?
Here's my code:
$uri='https://testvenue3.somewhere.com/VenueServer'
$v = new SoapClient($uri.'?WSDL');
The $uri is coming from a database where the offending $uri is just
some test data. But there are other valid URIs called subsequently. I
could just array_shift the first to avoid the problem, but that's
cludgy. So I tried to wrap it with another error handler:
set_error_handler('handle_error',E_ALL | E_NOTICE );
$uri='https://somewhere.com/test'
$v = new SoapClient($uri.'?WSDL');
restore_error_handler();
and I get the following from my handler function:
2 SoapClient::SoapClient() [function.SoapClient-SoapClient]:
php_network_getaddresses: getaddrinfo failed: No such host is known. in
C:\Users\mimiller.NCSA\Documents\UIUC\NCSA\www\AGSchedule\AG.php on line
40
https://testvenue3.somewhere.com/VenueServer
2
SoapClient::SoapClient(https://testvenue3.somewhere.com/VenueServer?WSDL)
[function.SoapClient-SoapClient]: failed to open stream: No such file or
directory in
C:\Users\mimiller.NCSA\Documents\UIUC\NCSA\www\AGSchedule\AG.php on line
40
https://testvenue3.somewhere.com/VenueServer
2 SoapClient::SoapClient() [function.SoapClient-SoapClient]: I/O
warning : failed to load external entity
"https://testvenue3.somewhere.com/VenueServer?WSDL"
in
C:\Users\mimiller.NCSA\Documents\UIUC\NCSA\www\AGSchedule\AG.php on line
40
https://testvenue3.somewhere.com/VenueServer
Which would be fine, but the script dies and outputs the following
before I restore_error_handler():
Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from
'https://testvenue3.somewhere.com/VenueServer?WSDL'
in C:\Users...snip
Which doesn't appear to be my handler function.
Regardless, if I'm handling the errors, the script should continue.
Reproduce code:
---------------
set_error_handler('handle_error',E_ALL | E_NOTICE );
$uri='https://somewhere.com/test'
$v = new SoapClient($uri.'?WSDL');
restore_error_handler();
Expected result:
----------------
The script should continue.
Actual result:
--------------
The script dies.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45263&edit=1