[PEAR-BUG] Bug #7634 [Asn->Opn]: E_ERROR and E_WARNING inside SoapObject::$methodname
[email protected] Mon, 29 Dec 2014 12:32:30 +0000 (GMT)
| Newsgroups | php.pear.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://pear.php.net/bugs/bug.php?id=7634&edit=1 ID: 7634 Updated by: [email protected] Reported By: vitaly at yakovenko dot net Summary: E_ERROR and E_WARNING inside SoapObject::$methodname -Status: Assigned +Status: Open Type: Bug Package: SOAP Operating System: Linux Package Version: 0.9.4 PHP Version: 4.4.2 Assigned To: yunosh Roadmap Versions: New Comment: -Status: Assigned +Status: Open Previous Comments: ------------------------------------------------------------------------ [2006-06-20 13:05:05] yunosh I see, you are right. ------------------------------------------------------------------------ [2006-06-20 12:24:25] vitaly at yakovenko dot net Well, You understood my problem correctly, but... First of all, as I see there is 2 ways to specify callback fucntion. First - parameter in PEAR_Error constructor, another is PEAR::setErrorHandling(). If you open PEAR_Error constructor, you'll see that if you don't specify $mode parameter in constructor, it's PEAR_ERROR_RETURN by default, and no other callback function will be called. From other side. To call callback function registered with PEAR::setErrorHandling() you have to call PEAR::throwError(). In current code I can't do any of these. I hope this time it's clear what I'm talking about. ------------------------------------------------------------------------ [2006-06-20 04:02:13] yunosh I don't understand where you see the problem then. If I understand correctly, you didn't get the errors logged because the error handler returned too early because we silenced the call_user_function() calls. With my patch the PEAR_Error is raised *before* the (soap) error handler returns. If you register a custom error callback with PEAR, this callback should be executed even if the error happens in a silenced function call. ------------------------------------------------------------------------ [2006-06-19 15:07:57] vitali at yakavenka dot net Hi Jan, I tried your solution. As I see from PEAR_Error and PEAR code, if you set callback method for PEAR it can be called from method PEAR::raiseError(). If you want to call manual handler without using raiseError you have to pass callback method in PEAR_Error constructor. So, for me this solution doesn't works. Thanks for answer anyway. ------------------------------------------------------------------------ [2006-06-19 10:52:34] yunosh Can you please try the following patch and use PEAR's error handler instead, e.g. with PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'your_callback_handler')? http://dev.horde.org/~jan/Server.diff ------------------------------------------------------------------------ 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://pear.php.net/bugs/bug.php?id=7634 -- Edit this bug report at https://pear.php.net/bugs/bug.php?id=7634&edit=1