Ярлыки

понедельник, 17 января 2011 г.

PHP XML-RPC server

1. Определяем функции, которые будут доступны клиенту. Для примера напишем функцию сложения двух чисел:
function srvAdd($MethodName, $Params, $AppData)
{
return $Params[0]+$Params[1];
}
Любая функция, регистрируемая на xml-rpc сервере, должна принимать 3 параметра:

$MethodName - внешнее имя функции;
$Params - массив параметров, передаваемых клиентом;
$AppData - дополнительные параметры, передаваемые при вызове функции xmlrpc_server_call_method().

2. Создаем XML-RPC сервер вызовом функции

srv=xmlrpc_server_create();

3. Регистрируем на сервере, определенные ранее функции

xmlrpc_server_register_method($srv, "Add", "srvAdd");

Здесь:
Add - внешнее имя функции srvAdd,
srv - handler сервера.

4. Получаем "сырой" запрос от клиента

$xmlRequest = $HTTP_RAW_POST_DATA;

5. Передаем запрос в диспетчер функций, который автоматически определит какую функцию вызвать.

$response = xmlrpc_server_call_method($srv, $xmlRequest, Null);

Здесь:
$srv - handler xml-rpc сервера;
$xmlRequest - данные от клиента в xml-формате;
Третий параметр, в данном случае пустой, передает дополнительные данные для определенных ранее функций (параметр $AppData).

6. Отдаем клиенту результаты работы функции

print $response;

7. Закрываем сервер.

xmlrpc_server_destroy($srv);


Поместим файл с кодом xml-rpc сервера в защищенный каталог apache, чтобы к нему можно было коннесктится через SSL https://www.mydomain.ru/xmlrpcserver.php

источник

Комментариев нет:

Отправить комментарий