Модераторы: Aliance, IZ@TOP, SamDark, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема при использовании XMLRPC, Проблема при использовании XMLRPC 
:(
    Опции темы
nastya1992
Дата 2.4.2012, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.4.2012

Репутация: нет
Всего: нет



здравствуйте, у меня проблема следующего характера: 
есть клиент(содержит интерфейс) и сервер(выполняет обработку)
данные передаются от клиента серверу и обратно через XML (клиент
передает данные серверу, сервер выводит данные и кидает их обратно
клиенту, который выводит результат)

необходимо, используя XML RPC на php, написать взаимодействие клиента и сервера

при выполнении и клиент и сервер выдают ошибки - ругаются на функции,
что они не существуют
клиент на xmlrpc_encode_request, а сервер на xmlrpc_server_register_method.

пример кода:

Сервер:
Код

<?php

/*
Функция-обработчик получаемых данных. $method_name - имя вызываемого
метода, $params - параметры, $user_data - пользовательские данные.
*/
function local($method_name, $params, $user_data)
{
/*возвращаем сериализованные входящие данные*/
       return serialize($params);
}

/*создаем сервер*/
$s = xmlrpc_server_create();

/*регистрируем метод-обработчик*/
xmlrpc_server_register_method($s, 'external', 'local');

/*вызываем обработчик, передаем ему входящие данные, если обработчик
возвращает что-то - выводим на экран*/
if ($data = xmlrpc_server_call_method($s, $HTTP_RAW_POST_DATA, null))
       echo $data;

/*уничтожаем сервер*/
xmlrpc_server_destroy($s);

?>


Клиент:
Код

<?php

/*кодируем данные и имя метода для передачи серверу*/
$request = xmlrpc_encode_request('external', array(1, 2, 3));

/*создаем контекст для передачи данных серверу*/
$context = stream_context_create(array('http' => array(
   'method' => "POST",
   'header' => "Content-Type: text/xml",
   'content' => $request
)));

/*передаем запрос серверу и получаем ответ*/
$file = file_get_contents("http://адрес_сайта/скрипт_сервер.php",
false, $context);

/*декодируем ответ*/
$response = xmlrpc_decode($file);

/*если ошибка - выводим ее, иначе - выводим ответ сервера*/
if (xmlrpc_is_fault($response)) {
   trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
   print_r(unserialize($response));
}

?>



заранее спасибо!
PM MAIL   Вверх
Google
  Дата 21.9.2017, 11:26 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.