Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.13.0

Bug #9155 SOAP_Server::_errorHandler should query error_reporting()
Submitted: 2006-10-24 16:34 UTC Modified: 2007-01-19 18:48 UTC
From: pear at tmp dot dau-sicher dot de Assigned: yunosh
Status: Closed Package: SOAP (version 0.9.4)
PHP Version: 5.1.6 OS: Gentoo Linux
Roadmaps: (Not assigned)    

 [2006-10-24 16:34 UTC] pear at tmp dot dau-sicher dot de (Roland)
Description: ------------ The method Server::_errorHandler should query the error_reporting()-Function to recognize suppressed errors (see, comment by "webmaster __AT__ digitalanime __DOT__ nl" on 19-May-2004 12:10). In Server.php, replace if (!$errno || $errno == E_NOTICE || (defined('E_STRICT') && $errno == constant('E_STRICT'))) { return; } with if (error_reporting() == 0 || !$errno || $errno == E_NOTICE || (defined('E_STRICT') && $errno == constant('E_STRICT'))) { return; } Test script: --------------- function someDispatchedSoapFunction() { if ($fp = @fopen("nonExistingFile.txt")) { // do something strange } return "foo"; } Expected result: ---------------- Get String-Response "foo" Actual result: -------------- SOAP-Fault about missing file


 [2006-10-25 14:40 UTC] pear at tmp dot dau-sicher dot de
To make this work as expected, the @-Operator has to be removed from SOAP_Server::callMethod body. I don't see why it should be useful to run call_user_func with an error supression operator?
 [2007-01-19 18:48 UTC] yunosh (Jan Schneider)
This bug has been fixed in CVS. If this was a documentation problem, the fix will appear on by the end of next Sunday (CET). If this was a problem with the website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better.