|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2006-01-25 10:31 UTC] tschlottke at virtualminds dot de
Description: ------------ It would be neat to implmentent a method to register ONE function that handles everything, no matter which function the client called. This function could then do (for example) Session/Authentification-related stuff. The soapserver should forward all parameters(as array) aswell as the function name called by the client(and maybe the namespace) and return all values returned by this function. So this function could handle it all. Would be a neat thing... PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 08:00:01 2025 UTC |
You can create an Abstract Soap Server by creating a class with the magic method __class() to handle any request. Of course, this isn't ideal in a web service world but it's a possible. SERVER (AbstractSoap.php) ================== <?php // class class AbstractSoap { function __call($name, $args) { return array('Operation'=>$name, 'Arguments' => $args); } } // start server $server = new SoapServer(null, array('uri'=>'http://jromero.me/AbstractSoap')); $server->setClass("AbstractSoap"); $server->handle(); ?> CLIENT (client.AbstractSoap.php) ================== <?php $client = new SoapClient(null,array("uri"=> "http://jromero.me/AbstractSoap", "location" => "http://someurl.com/AbstractSoap.php",)); $Authentication = new stdClass(); $Authentication->Username = 'user'; $Authentication->Password = 'password'; $Person = new stdClass(); $Person->FirstName = 'Javier'; $Person->LastName = 'Romero'; $response = $client->AddAccount($Authentication,$Person); print_r($response); ?>