XML-RPC PHP extension - introspection

"atisz2000" <[email protected]> Tue, 27 Nov 2007 12:49:28 -0000
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
I encountered a possible bug in the XMLRPC PHP extension
(http://sk.php.net/xmlrpc). 
I implemented system.listMethods 
and system.methodSignature methods.

 function _introspection_cb($userdata){  
     return file_get_contents('meta.xml');  
 }  
   
 $request_data = file_get_contents('php://input');  
 $rpcserver = xmlrpc_server_create();  
 ...  
 $ret = xmlrpc_server_register_introspection_callback($rpcserver,
_introspection_cb');

content of meta.xml file

<?xml version="1.0" encoding="UTF-8"?>  
<introspection version="1.0">  
<methodList>  

  <methodDescription name="auth.accounts.getinfo">  
    <purpose>Returns account information.</purpose>  
    <signatures>  
      <signature>  
      <params>  
          <value type="string">Unique identifier for a user</value>  
      </params>  
      <params>  
          <value type="int">unique account ID in database</value>  
      <value type="base64">unique account ID in database</value>  
      </params>  
      <returns>  
          <value type="boolean" descr=""></value>  
      </returns>  
    </signature>  

    <signature>  
      <params>  
          <value type="int">unique account ID in database</value>  
          <value type="base64">unique account ID in database</value>  
      </params>  
      <returns>  
          <value type="double"></value>  
      </returns>  
    </signature>  

    </signatures>  
  </methodDescription>  

</methodList>  
</introspection>  

system.methodSignature returns the following 
$client->Call('system.methodSignature',"auth.accounts.getinfo") 
:

    Array(  
        Array  
        (  
            [0] => boolean  
            [1] => string  
            [2] => double  
            [3] => int  
            [4] => base64  
        )  
       Array  
       (  
           [0] => boolean  
           [1] => string  
           [2] => double  
           [3] => int  
           [4] => base64  
       )  
   )

I think it should return this array:
   Array(  
       Array  
       (  
           [0] => boolean  
           [1] => string  
       )  
       Array  
       (  
           [2] => double  
           [3] => int  
           [4] => base64  
       )  
  )  

Does anyone know what is the problem? Is it a bug or the XML file is
not correct. Thanks for any help.



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/