- XML-RPC
-
XML-RPC (сокр. от англ. Extensible Markup Language Remote Procedure Call — XML-вызов удалённых процедур) — стандарт/протокол вызова удалённых процедур, использующий XML для кодирования своих сообщений и HTTP в качестве транспортного механизма[1]. Является прародителем SOAP, отличается исключительной простотой применения. XML-RPC, как и любой другой интерфейс RPC, определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети.
Содержание
Краткая история
Протокол XML-RPC был изначально разработан Дэйвом Винером из компании «UserLand Software» в сотрудничестве с Майкрософт в 1998 году. Однако корпорация Майкрософт вскоре сочла этот протокол слишком упрощённым, и начала расширять его функциональность. После нескольких циклов по расширению функциональности, появилась система, ныне известная как SOAP. Позднее Майкрософт начала широко рекламировать и внедрять SOAP, а изначальный XML-RPC был отвергнут. Но, несмотря на отвержение Майкрософт, стандарт XML-RPC очаровал многих программистов своей необычайной простотой и, за счёт этого, существует по сей день и даже постепенно набирает популярность.
Типы данных
Имя типа Пример тега Описание типа array <array> <data> <value><i4>1404</i4></value> <value><string>Что-нибудь здесь</string></value> <value><i4>1</i4></value> </data> </array>
Массив величин, без ключей base64 <base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64>
Кодированные в Base64 двоичные данные boolean <boolean>1</boolean>
Логическая (булева) величина (0 или 1) date/time <dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
Дата и время double <double>-12.53</double>
Дробная величина двойной точности integer <i4>42</i4>
Целое число string <string>Здравствуй, Мир!</string>
Строка символов (в той же кодировке, что и весь XML-документ) struct <struct> <member> <name>Что-то</name> <value><i4>1</i4></value> </member> <member> <name>Ещё что-то</name> <value><i4>2</i4></value> </member> </struct>
Массив величин, с ключами nil <nil/>
Нулевая (пустая) величина — это расширение XML-RPC Примеры
Типичный пример запроса XML-RPC:
<?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>41</i4></value> </param> </params> </methodCall>
Типичный пример ответа на запрос XML-RPC:
<?xml version="1.0"?> <methodResponse> <params> <param> <value><string>South Dakota</string></value> </param> </params> </methodResponse>
Типичный пример отчёта об ошибке в запросе XML-RPC:
<?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultCode</name> <value><int>4</int></value> </member> <member> <name>faultString</name> <value><string>Too many parameters.</string></value> </member> </struct> </value> </fault> </methodResponse>
См. также
- XML
- SOAP
- Веб-служба (а также WSDL и UDDI)
- RSS
- OPML
- BPEL
- MetaWeblog
Ссылки
- ↑ Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) Programming Web Services with XML-RPC. O'Reilly. First Edition.
- Официальный сайт XML-RPC
- XML-RPC for PHP (PHPXMLRPC) — библиотека для ускорения разработки веб-сервисов (написана создателем самого протокола XML-RPC)
- Пишем свой web-сервис на PHP и XML-RPC — статья о технологии на phpclub.ru
- .Net реализация XML-RPC
- Форум XML-RPC
- Руководства по XML-RPC
- Технологические отчёты по XML-RPC
- Jabber-RPC — XML-RPC по протоколу XMPP
- Apache, XML-RPC и безопасность
Категории:- XML
- Интернет-протоколы
Wikimedia Foundation. 2010.