#34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's
ID: 34657 Updated by: [EMAIL PROTECTED] Reported By: gareth at wsys dot co dot uk Status: Open Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment: In general nothing in ext/soap should be fatal if its not within the control of the local php application. This means missing WSDL, changes to the WSDL etc. All of this needs to be catchable in some way or another (exception, returning false .. etc). Also if an exception is thrown no warnings should be thrown for the same issue. Previous Comments: [2007-01-15 15:53:18] jhendric at sierra-bravo dot com Similar problem here with PHP 5.1.6. try { $soap = new SoapClient('[...]', array('exceptions' => true)); // Note: Same results without or without exceptions => true } catch(Exception $e) { var_dump($e); } Results in: Warning: SoapClient::__construct([...]) [function.SoapClient---construct]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in [...] Warning: SoapClient::__construct() [function.SoapClient---construct]: I/O warning : failed to load external entity "..." in [...] Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from '[...]' in [...] [2006-12-21 23:32:24] [EMAIL PROTECTED] I get 3 warning + a SoapFault exception when running Lukas' test case there. The output is: Warning: SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(http://i_dont_exist.com/some.wsdl): failed to open stream: No such file or directory in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "http://i_dont_exist.com/some.wsdl"; in /home/ek/projects/php_5_2/t on line 4 string(9) "SoapFault" NULL I think getting 3 warning and an exception for failing to load WSDL file is a bit excessive though :) [2006-12-19 14:10:44] [EMAIL PROTECTED] I can reproduce this error with php 5.1.4 and 5.2.0 on windows. And it seems Derick was also able to reproduce it on Linux. Using the following we get 3 warnings and a fatal error: http://i_dont_exist.com/some.wsdl'); } catch (SoapFault $e) { var_dump(get_class($e)); } catch (Exception $e) { var_dump(get_class($e)); } var_dump($client); It really should not do anything but throw an exception, as this is what is defined to happen for fatal errors in constructors for all extensions. [2006-09-12 09:56:52] gareth at wsys dot co dot uk OK, the debug information shows that the Soap client class is now throwing an uncaught SoapFault exception (which causes the fatal error). with a try{ } catch(SoapFault $exception) I can continue the script. I've closed the bug. [2006-09-12 08:56:12] [EMAIL PROTECTED] I cannot reproduce the bug even with 5.1.4. Try "php -d log_errors=0 test.php". May be you are seeing log message and don't see "Error Caught" after it? 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/34657 -- Edit this bug report at http://bugs.php.net/?id=34657&edit=1
#34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's
ID: 34657 Updated by: [EMAIL PROTECTED] Reported By: gareth at wsys dot co dot uk Status: Open Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment: I get 3 warning + a SoapFault exception when running Lukas' test case there. The output is: Warning: SoapClient::SoapClient(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(http://i_dont_exist.com/some.wsdl): failed to open stream: No such file or directory in /home/ek/projects/php_5_2/t on line 4 Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "http://i_dont_exist.com/some.wsdl"; in /home/ek/projects/php_5_2/t on line 4 string(9) "SoapFault" NULL I think getting 3 warning and an exception for failing to load WSDL file is a bit excessive though :) Previous Comments: [2006-12-19 14:10:44] [EMAIL PROTECTED] I can reproduce this error with php 5.1.4 and 5.2.0 on windows. And it seems Derick was also able to reproduce it on Linux. Using the following we get 3 warnings and a fatal error: http://i_dont_exist.com/some.wsdl'); } catch (SoapFault $e) { var_dump(get_class($e)); } catch (Exception $e) { var_dump(get_class($e)); } var_dump($client); It really should not do anything but throw an exception, as this is what is defined to happen for fatal errors in constructors for all extensions. [2006-09-12 09:56:52] gareth at wsys dot co dot uk OK, the debug information shows that the Soap client class is now throwing an uncaught SoapFault exception (which causes the fatal error). with a try{ } catch(SoapFault $exception) I can continue the script. I've closed the bug. [2006-09-12 08:56:12] [EMAIL PROTECTED] I cannot reproduce the bug even with 5.1.4. Try "php -d log_errors=0 test.php". May be you are seeing log message and don't see "Error Caught" after it? [2006-09-11 07:50:34] gareth at wsys dot co dot uk I have tried to use set_error_handler(), but as you know it cannot catch fatal errors. Does anyone else have a workaround? [2006-09-08 21:50:38] [EMAIL PROTECTED] See also bug #38703. 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/34657 -- Edit this bug report at http://bugs.php.net/?id=34657&edit=1
#34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's
ID: 34657 User updated by: gareth at wsys dot co dot uk Reported By: gareth at wsys dot co dot uk Status: Open Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment: I have tried to use set_error_handler(), but as you know it cannot catch fatal errors. Does anyone else have a workaround? Previous Comments: [2006-09-08 21:50:38] [EMAIL PROTECTED] See also bug #38703. [2006-09-06 10:40:10] gareth at wsys dot co dot uk Have tried on PHP version 5.1.6, still getting the following error: Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://urlhere.com/file.wsdl'. So I still cannot catch this error, which limits my use of SOAP as it will kill my script. [2006-09-05 12:32:44] [EMAIL PROTECTED] Seems this bug was already fixed in CVS HEAD, PHP_5_2 and PHP_5_1 long time ago. [2006-01-14 12:08:16] [EMAIL PROTECTED] Assigned to the maintainer. [2006-01-13 14:20:13] gareth at wsys dot co dot uk The only solution I have come up with for this problem is to put the SOAP call into a seperate php file and then use it with exec(). This does however limit the input/output options available. 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/34657 -- Edit this bug report at http://bugs.php.net/?id=34657&edit=1
#34657 [Opn]: If you get a communication problem when loading the WSDL, it fatal's
ID: 34657 Updated by: [EMAIL PROTECTED] Reported By: gareth at wsys dot co dot uk Status: Open Bug Type: SOAP related Operating System: Windows, Linux PHP Version: 5.1.6 Assigned To: dmitry New Comment: See also bug #38703. Previous Comments: [2006-09-06 10:40:10] gareth at wsys dot co dot uk Have tried on PHP version 5.1.6, still getting the following error: Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://urlhere.com/file.wsdl'. So I still cannot catch this error, which limits my use of SOAP as it will kill my script. [2006-09-05 12:32:44] [EMAIL PROTECTED] Seems this bug was already fixed in CVS HEAD, PHP_5_2 and PHP_5_1 long time ago. [2006-01-14 12:08:16] [EMAIL PROTECTED] Assigned to the maintainer. [2006-01-13 14:20:13] gareth at wsys dot co dot uk The only solution I have come up with for this problem is to put the SOAP call into a seperate php file and then use it with exec(). This does however limit the input/output options available. [2005-09-28 08:40:33] garadox47 at ntlworld dot com I have tried the latest window version you provided a link to, it still throws an uncatchable fatal error. 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/34657 -- Edit this bug report at http://bugs.php.net/?id=34657&edit=1