From:  jan@horde.org
Date:  29 Dec 2014 20:32:30 Hong Kong Time
Newsgroup:  news.php.net/php.pear.bugs
Subject:  

[PEAR-BUG] Bug #7634 [Asn->Opn]: E_ERROR and E_WARNING inside SoapObject::$methodname

NNTP-Posting-Host:  null

Edit report at https://pear.php.net/bugs/bug.php?id=7634&edit=1

 ID:               7634
 Updated by:       jan@horde.org
 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