За последние 24 часа нас посетили 41057 программистов и 1815 роботов. Сейчас ищут 847 программистов ...

проблема с XML-RPC

Тема в разделе "Прочие вопросы по PHP", создана пользователем phpall, 4 янв 2007.

  1. phpall

    phpall Активный пользователь

    С нами с:
    10 окт 2006
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Тирасполь
    первый раз использую xml_rpc и сразу возникла трабла, подскажите что не так, делаю по книжке(изменил только функцию, максимально упростил).
    Использую PEAR XML_RPC.
    скрипт Сервер:
    PHP:
    1.  
    2. <?php
    3.     require_once 'XML/RPC/Server.php';
    4.    
    5.     function system_time()
    6.     {
    7.         $data = date("c");
    8.         return new XML_RPC_Response( new XML_RPC_Value($data,'string'));
    9.     }
    10.    
    11.     $dispatches = array('system.time' => array('function' => 'system_time'));
    12.     $server = new XML_RPC_Server($dispatches,1);
    13. ?>
    14.  
    скрипт Клиент:
    PHP:
    1.  
    2. <?php
    3.     require_once 'XML/RPC.php';
    4.     $client = new XML_RPC_Client('/xmlrpc/server.php','localhost');
    5.     $msg = new XML_RPC_Message("system.time");
    6.     $result = $client->send($msg);
    7.     print "<pre>";
    8.     var_dump($result);
    9.     print "</pre>";
    10.     if ($result->faultCode()) {
    11.         print "Error\n";
    12.     }
    13.     print XML_RPC_decode($result->value());
    14. ?>
    15.  
    Дамп $result говорит :
    PHP:
    1.  
    2. object(xml_rpc_response)(4) {
    3.   ["xv"]=>
    4.   NULL
    5.   ["fn"]=>
    6.   string(1) "1"
    7.   ["fs"]=>
    8.   string(14) "Unknown method"
    9.   ["hdrs"]=>
    10.   array(1) {
    11.     [0]=>
    12.     string(1) "T"
    13.   }
    14. }
    15.  
    Почему string(14) "Unknown method" если он описан в сервере и в диспетчере.

    Выполнение скрипта обрывается:
    Error
    Fatal error: Call to a member function kindOf() on a non-object in e:\wamp\php\PEAR\XML\RPC.php on line 1972

    Оправка сообщения
    PHP:
    1.  
    2. ...
    3. $msg = new XML_RPC_Message("system.listMethod"); ...
    выдает список методов

    А мой метод почему то выполняться не хочет
     
  2. phpall

    phpall Активный пользователь

    С нами с:
    10 окт 2006
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Тирасполь
    Проблема решилась переименованием моего метода, видать я не могу создавать системные методы.