[PHP] Toevoegen signature mbv add_to_map (xmlrpc_server)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een XMLRPC server aan de praat te krijgen (XML-RPC for PHP version 1.1). Het creeeren van de server class gaat goed, het toevoegen van de signature (met behulp van add_to_map) gaat ook goed (geeft althans geen error ;)) alleen wanneer het script wordt uitgevoerd krijg ik onderstaande melding:

Incorrect parameters passed to method: No method signature matches number of parameters (errornr: 3)

Volgens mij gaat voeg ik de signature van de aan te roepen functie niet goed toe. Ik heb al veel te veel combinaties geprobeerd. Uit de documentatie wordt ik ook niet veel wijzer, heeft iemand dit toevallig al een keer eerder gedaan?

Nog wat aanvullende info:

INPUT XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>rpctest</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>testnr1</name>
<value>
<string>12345</string>
</value>
</member>
<member>
<name>testnr2</name>
<value>
<string>11223</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>

DE SERVER(REMOTE) FUNCTIE
function XmlRpcServer ()
{
// Create an xmlrpc server
$rXmlServer = new xmlrpc_server();
$this->setXmlServerHandle($rXmlServer);

$aRpcMethod = get_class_methods($this);
foreach ($aRpcMethod as $sRpcMethod)
{
if (preg_match('/^rpc/', $sRpcMethod) == 1)
{
$rXmlServer->add_to_map($sRpcMethod, $sRpcMethod, array($xmlrpcStruct, $xmlrpcStruct) , 'xmlRpcCall');
}
}
}

DE REMOTE FUNCTIE DIE AANGEROEPEN WORDT:
function rpctest($aParam)
{
// Doe iets en return response object
return new xmlrpcresp($sno);
}