Пишем XML-RPC сервер
Интернет — 20 апреля, 2008 13:30 — Комментариев: 2
Теги: php, XML-RPC
В продолжение этого поста расскажу как написать собственный XML-RPC сервер, который может выполнять определенный набор функций. Для создания сервера будем использовать все ту же библиотеку The Incutio XML-RPC Library for PHP
Поехали!
Итак, для начала надо определиться какие функции будет выполнять наш сервер. Для примера возьмем Начинающий водитель. Сделаем возможность получать информацию об автошколах. Для этого нам нужны 3 функции:
- schools.getRegions — возвращает список регионов
- schools.getSchools — возвращает список автошкол
- schools.getResponds — возвращает список отзывов
Таким образов, к примеру XML-RPC запрос на список регионов будет выглядеть так:
<?xml version='1.0'?> <methodCall> <methodName>school.getRegions</methodName> <params> <param></param> </params> </methodCall> |
Запрос автошкол (с параметрами):
<?xml version='1.0'?> <methodCall> <methodName>schools.getSchools</methodName> <params> <param> <value><int>43</int></value> </param> </params> </methodCall> |
В общем думаю понятно.
И так. Сервер. Все очень просто:
require('IXR_Library.inc.php'); $server = new IXR_Server( array( 'schools.getRegions' => 'getRegions', 'schools.getSchools' => 'getSchools', 'schools.getResponds' => 'getResponds', ) ); |
Сервер готов, осталось определить функции:
function getRegions($args) { // Получаем данные из БД return /* массив с данными*/; } function getSchools($args) { // Получаем данные из БД return /* массив с данными*/; } function getResponds($args) { // Получаем данные из БД return /* массив с данными*/; } |
Все параметры, которые пришли в XML-RPC запросе будут в массиве $args.
Ответ сервера будет примерно таким
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <array> <data> <value> <struct> <member><name>id</name><value><string>1195</string></value></member> <member><name>name</name><value><string>Автошкола "Авто-Дело"</string></value></member> <member><name>cnt</name><value><string>0</string></value></member> <member><name>rating</name><value><string>0</string></value></member> </struct> </value> ... <value> <struct> <member><name>id</name><value><string>1191</string></value></member> <member><name>name</name><value><string>Автошкола "Авто-курс"</string></value></member> <member><name>cnt</name><value><string>1</string></value></member> <member><name>rating</name><value><string>4.66666667</string></value></member> </struct> </value> </data> </array> </param> </params> </methodResponse> |
Вот и все!
Комментариев: 2
-
— 20 Апр 2008 в 21:41 (Ответить)
-
— 4 мая 2008 в 22:32
[…] Кто-то знает что такое XML-RPC (кто не знает, прошу сюда и сюда). И лишь немногие знают, что с Сапой можно работать […]
Оставить комментарий
Поиск
Реклама
Новые комментарии
- → Хочу поблагодарить за класную обложку. Действительно здорово. Стильно!... 1
- → Класс! Про различия между добром и злом - согласен.... 7
- → p.s. подписался :) забавно пишешь.... 7
- → Моя любимая цитата касательно бога В 1921 году Эйнштейн получил телеграмму от... 7
- → +1 мне нравиться... 5
- → Пасиба :)... 5
- → Да, Костя, точно - не занимаемся:)))...Красиво получилось!... 5
- → Для неформального девиза сойдет :)... 5
- → по-моему жестковато =)... 5
- → Угу... 7
Свежие записи
- → Прочитал: Владимир Перемолотов — Звездолет «Иосиф Сталин» 1
- → Мы не занимаемся порнографией 5
- → Моя теория «бога». Критикуйте! 7
- → Россия — Нидерланды 3: 1 — мы в полуфинале!!! 5
- → Unsharp Mask на PHP 2
- → Призы от Майкрософт 0
- → На работу!? 6
- → Download Day 2008 0
- → Пасхальное яйцо от разработчиков форума SimpleMachines 0
- → Пластилиновый мультик про Кировскую Область 0
Друзья
Интернет - июля 2, 2008 21:56 - Комментариев: 5
Мы не занимаемся порнографией
Еще в рубрике Интернет
- Unsharp Mask на PHP
- Призы от Майкрософт
- Download Day 2008
- Пасхальное яйцо от разработчиков форума SimpleMachines
- Пульт управления сервером
Рукоприкладство - мая 25, 2008 15:12 - Комментариев: 3
Сдали: Пресс-база Volkswagen
Еще в рубрике Рукоприкладство
- Сдали: Кировская Городская дума
- Сдали: Маркетинговая база Volkswagen
- Сдали: Кировский молочный комбинат
МайЛайф - июля 2, 2008 20:20 - Комментариев: 7
Моя теория «бога». Критикуйте!
Еще в рубрике МайЛайф
- Россия — Нидерланды 3: 1 — мы в полуфинале!!!
- На работу!?
- Пластилиновый мультик про Кировскую Область
- Болельщикам на Евро 2008
- 5 фактов из моей жизни






Пишу к этому серверу клиента:)
Потом в своем блоге поделюсь как написать XML-RPC Client-a:)