fetchArray(SQLITE3_ASSOC)) { $result[] = $row; return $result; } } $request_xml = file_get_contents("php://input"); /* Создаем XML-RPC сервер */ $xmlrpc_server = xmlrpc_server_create(); /* Регистрируем метод класса */ xmlrpc_server_register_method($xmlrpc_server, "getNewsById", array(new NewsService, "xmlRpcGetNewsById")); /*Отдаем правильный заголовок*/ header('Content-Type: text/xml;charset=utf-8'); /* Отдаем результат */ print xmlrpc_server_call_method($xmlrpc_server, $request_xml, null); header('Content-Type: text/html;charset=utf-8'); /* Сюда приходят данные с сервера */ $output = array(); /* Основная функция */ function make_request($request_xml, &$output) { /* НАЧАЛО ЗАПРОСА */ $opts = array( 'http'=>array( 'method'=>"POST", ) ); 'header'=>"User-Agent: PHPRPC/1.0\r\n" . "Content-Type: text/xml\r\n" . "Content-length: " . strlen($request_xml) . "\r\n", 'content'=>"$request_xml" $context = stream_context_create($opts); $retval = file_get_contents('http://mysite.local/xml-rpc/xml-rpc-server.php', false, $context); /* КОНЕЦ ЗАПРОСА */ $data = xmlrpc_decode($retval); if (is_array($data) && xmlrpc_is_fault($data)){ $output = $data; }else{ $output = unserialize(base64_decode($data)); } } /* Идентификатор статьи */ $id = 1; $request_xml = xmlrpc_encode_request('getNewsById', array($id)); make_request($request_xml, $output); /* Вывод результата */ var_dump($output); ?>