php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #31248 SOAP-Client: mapping of overloaded functions fail
Submitted: 2004-12-22 16:03 UTC Modified: 2022-04-08 08:14 UTC
Votes:39
Avg. Score:4.8 ± 0.6
Reproduced:35 of 35 (100.0%)
Same Version:8 (22.9%)
Same OS:16 (45.7%)
From: andreas dot filsinger at cargobay dot de Assigned: ilutov (profile)
Status: Closed Package: SOAP related
PHP Version: 5CVS-2005-03-29 OS: *
Private report: No CVE-ID: None
 [2004-12-22 16:03 UTC] 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.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-03-26 13:30 UTC] andreas dot filsinger at cargobay dot de
26 Mar 2005

"latest" seems to be late enough. It has a timestamp from 23 Mar 2005 at 08:50. Anyway I check it again this version with no succes. I will check again when CVS can make builds again.

Andreas Filsinger
 [2005-03-29 11:14 UTC] andreas dot filsinger at cargobay dot de
I just checked it against

PHP 5.1.0-dev (cli) (built: Mar 29 2005 08:40:25)

SORRY: It is all the same as 5.0.3: All function Prototyps are listed identical. Bug is still open! 

Andreas Filsinger
 [2005-07-01 11:34 UTC] andreas dot filsinger at cargobay dot de
* I just checked it against Version 5.1.0b2. Sorry it is NOT fixed.
* I was forced to change the login acount details. So that the sample above do not work any more! If your want a updated sample code - please email me directly. Thanks.
* If somebody is familar with AXIS, please put a class online, with publishes "foo(char c) AND foo(int i)" so we have a better test environment. I am not that kind of java guru which can do this i a minute. Thank you!

Andreas
 [2008-11-28 14:40 UTC] dmitry@php.net
See also #43868
 [2010-12-20 14:05 UTC] jani@php.net
-Package: Feature/Change Request +Package: SOAP related
 [2012-05-11 22:49 UTC] dlagtapon at gmail dot com
Encountered in PHP 5.3.9
 [2013-10-15 18:04 UTC] wal3 at mindspring dot com
Still having this problem on PHP Version 5.3.10-1ubuntu3.8
 [2013-10-21 09:41 UTC] dmitry@php.net
It's not going to be fixed.
 [2017-03-02 10:48 UTC] jon at weborg dot no
Is there a workaround without having to modify the wsdl?
 [2017-10-24 08:07 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: dmitry +Assigned To:
 [2022-04-08 08:14 UTC] ilutov@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: ilutov
 [2022-04-08 08:14 UTC] ilutov@php.net
Any major changes in SOAP are unlikely. If this is still relevant please create a new issue on GitHub.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 16:01:29 2024 UTC