From:             wb at pro-net dot co dot uk
Operating system: FreeBSD 5.2.1
PHP version:      5.0.3
PHP Bug Type:     Feature/Change Request
Bug description:  SoapServer onServerRequest() 'event'

Description:
------------
I would like to be able to intercept the SoapServer when it is about to
call an assigned function/method to handle a request.

This would allow people to check methods before they are run and could
then, for example, check that that the request service is currently
enabled/active and if not throw a SoapFault which would then be sent as
the soap responce for that method.

If no SoapFault was thrown then it would carry and run the request as
normal.

An example follows.

Reproduce code:
---------------
<?php
class NewSoapServer extends SoapServer {

    /**
     * @desc Overload SoapServer onServerRequest method
     * @return void
     *
     * Check to make sure that the requested service is
     * not disabled. If the service is disabled then a
     * SoapFaule will be thrown.
     */
    function onServerRequest ($name, $args) {
        if(Application::isServiceDisabled($name)){
            throw new SoapFault("Server","The '".$name."' service is
currently disabled.");
        }
    }

}

?>


-- 
Edit bug report at http://bugs.php.net/?id=32353&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=32353&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=32353&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=32353&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=32353&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=32353&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=32353&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=32353&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=32353&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=32353&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=32353&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=32353&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=32353&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=32353&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=32353&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=32353&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=32353&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=32353&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=32353&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=32353&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=32353&r=mysqlcfg

Reply via email to