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

 ID:                 62952
 Comment by:         re...@php.net
 Reported by:        gabriel dot heming at hotmail dot com
 Summary:            Methods from ServerClient cannot be used with
                     ReflectionMethod
 Status:             Feedback
 Type:               Bug
 Package:            Reflection related
 Operating System:   Windows
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

An extra comma was appended to the url, please try this:

https://gist.github.com/3750131

In short:
" The ReflectionMethod class reports information about a method."
if method didn't exists an exception was thrown when construct ReflectionMethod.


Previous Comments:
------------------------------------------------------------------------
[2012-09-19 15:08:05] re...@php.net

Hi, 
  since call methods from a webservice like $client->method($args) is
a proxy method, it didn't exist in Soapclient, it use the magic method
Soapclient::__call() to the really work, so th method didn't exist at all

see: https://gist.github.com/3750131, it should been a fatal error complain
method didn't exists.

could you please try the test script from the gist above?

------------------------------------------------------------------------
[2012-08-27 14:36:53] gabriel dot heming at hotmail dot com

Description:
------------
Well, I'm trying reflect a client of web service. When I use 
call_user_func_array 
it works fine. But when I use ReflectionMethod, doesn't work. Is better you see:

Test script:
---------------
My variables:
$client = new SoapClient('http://localhost/webservice?wsdl');
$method = 'someMethod';
arguments = array('argument one' , 'argument two');

This code work fine:
return call_user_func_array(array($client , $method) , $arguments);

This code doesn't work
$reflectionMethod = new ReflectionMethod($client , $method);
return $reflectionMethod->invokeArgs($client , $arguments);

Expected result:
----------------
Return of function from ServerClient.


Actual result:
--------------
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML 
document in...


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62952&edit=1

Reply via email to