Problema de parâmetro zend_xmlrpc
-
21-09-2019 - |
Pergunta
Estou tentando obter uma configuração simples do servidor XMLRPC do cliente/servidor, mas estou tendo problemas para usar parâmetros. O código funciona bem se eu tomar o $ client_id parâmetro fora do FetchClient () método e $ client-> ligue (). No entanto, se eu incluí -lo, o servidor retorna "Os parâmetros de chamada não correspondem à assinatura"
Código do controlador:
class XmlrpcController extends Zend_Controller_Action
{
public function init()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
}
public function indexAction()
{
$server = new Zend_XmlRpc_Server();
$server->setClass('App_Service_Customer','customer');
echo $server->handle();
}
}
App/Service/Customer.php:
class App_Service_Customer
{
/**
* @param int $client_id
* @return string
*/
public function fetchCustomer($client_id)
{
return 'john doe';
}
}
Código de teste do cliente:
$client = new Zend_XmlRpc_Client('http://localhost/xmlrpc');
echo $client->call('customer.fetchCustomer', 1);
Alguma ideia?
Solução
Desprezo. Eu descobri o parâmetro correto para a entrada:
echo $client->call('customer.fetchCustomer', array(array('client_id' => 1)));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow