#31248 [Opn->Asn]: SOAP-Client: mapping of overloaded functions fail

From: Date: Wed, 19 Jan 2005 20:24:21 +0000
Subject: #31248 [Opn->Asn]: SOAP-Client: mapping of overloaded functions fail
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-72479@lists.php.net to get a copy of this message
ID: 31248 Updated by: edink@php.net Reported By: andreas dot filsinger at cargobay dot de -Status: Open +Status: Assigned Bug Type: SOAP related Operating System: independent PHP Version: 5.0.3 -Assigned To: +Assigned To: dmitry Previous Comments: ------------------------------------------------------------------------ [2004-12-22 16:03:34] andreas dot filsinger at cargobay dot de Description: ------------ the WSDL of "Apache.AXIS for Java" implements sort of function-overloading. If you have 3 published functions: int foo (int a,b); int foo (string a,b); int foo (int x); in XML this is done by extending the Function-Names by numbers: <fooRequest ... <fooRequest1 ... <fooRequest2 ... the Bug: with __getFunctions foo is formulated 3 times identical: int foo(int $a,int $b); int foo(int $a,int $b); int foo(int $a,int $b); if i call "foo" it its mapped to the first function with this name. Reproduce code: --------------- $user = "filsinger;Default"; $pwd = "WWO6C4vg"; $ip = "217.160.221.231:6666"; $service = "mapping/Mapping?wsdl"; $client = new SoapClient("http://$user:$pwd@$ip/ws/services/$service", array( "login" => "$user", "password" => "$pwd", "trace" => 1, "exceptions" => 0) ); $r = $client->__getFunctions(); foreach($r as $v) echo $v . "<br /><br />"; Expected result: ---------------- a) Quick Patch make a function name mapping to getMap(... getMap1(... getMap2(... so i can use getMap2(.. and be happy! b) php 6.0.0 ;-) true identical function names, if this is called try to fill the function-parameters from the first function with this name, if this fails, take the next with this name ... take that implemetation where filling the parameter does not fail. If there no implementation fits: create an error. If more than one parameter fits: create an error: Actual result: -------------- * all the overloaded functions have the parameter set of the most top-function. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31248&edit=1

« previous php.bugs (#72479) next »