XML-RPC: Porovnání verzí

Smazaný obsah Přidaný obsah
Nová stránka: '''XML-RPC''' je protokol, s jehož pomocí lze velice jednoduše provádět vzdálené volání procedur. XML-RPC nepřineslo do světa vzdáleného volání procedur novou tech...
 
Bez shrnutí editace
Řádek 12:
==== Hlavička ====
 
První údaj v prvním řádku hlavičky požadavku indikuje druh dotazu, což je v případě XML-RPC vždy „[[POST]]“. Druhá položka nese informaci o umístění XML-RPC serveru (tzv. [[URI]]). Neexistuje žádný zvláštní požadavek na URI, může být zadáno třeba jen lomítko, nebo může být dokonce prázdné. Třetím údaj definuje verzi a druh protokolu – pro potřeby XML-RPC se používá „HTTP/1.0“. Další čtyři řádky se skládají vždy z názvu položky a hodnoty („název: hodnota“) a jsou povinné. První ze čtveřice -– „[[user-agent|User-agent]]“ -– obvykle informuje druh a verzi implementace. Řádek „Host“ určuje adresu počítače, na kterém běží XML-RPC server. „[[content-type|Content-Type]]“ značí druh odesílaných dat, musí mít vždy hodnotu „text/xml“. „[[content-length|Content-length]]“ udává délku dokumentu a ta musí být správně určena.
 
POST /server HTTP/1.0
Řádek 55:
 
==== Tělo ====
Tělo odpovědi tvoří velice jednoduchá XML struktura &ndash; značky „<methodResponse>“, mezi kterými se, na rozdíl od dotazu, musí vyskytnout párová značka „<params>“. Taktéž uvnitř musí existovat alespoň jedna značka „<param>“ obsahující hodnotu, případně datový typ.
 
HTTP/1.1 200 OK
Řádek 82:
Tělo chybové odpovědi se uvozuje značkami „<methodResponse>“ následovanými
značkami „<fault>“ - jakýsi ekvivalent k „<param>“, ovšem bez vnějšího „<params>“. Uvnitř se
nachází značka „<value>“ obsahující datový typ „struct“. Struct má zde dva členy, první -&ndash; „faultCode“ -&ndash; udává číslo
chyby, „faultString“ v sobě nese textovou část chyby. Toto číslo ani text není definováno, pouze se
musí dodržet datové typy, jinak záleží čistě na implementátorovi serveru, jaká čísla si pro chyby
Řádek 156:
 
'''Poznámka:''' Integer se smí skládat
pouze z číslic, případně znaménkem před číslem samotným, nesmí obsahovat mezeru. Double navíc obsahuje desetinnou tečku, zároveň ale jeho rozsah záleží na konkrétní implementaci. Typ string povoluje jakékoliv znaky kromě znaku „<“ (menší než) a „&“, tyto dva znaky se převádějí na příslušné entity „&amp;lt;“ a „&amp;amp;“. String lze také použít pro přenost binárních dat. XML-RPC neumí vyjádřit nekonečno, záporné nekonečno nebo [[NaN]] (not a number).
 
==== Vícerozměrné datové typy ====
Řádek 176:
 
Druhým datovým typem je „struct“ (struktura), uvozený značkou „<struct>“, v jejímž těle
lze uvést libovolný počet prvků „<member>“, z nichž každý nese informaci o jméně &ndash; „<name>“ -&ndash;
a o hodnotě -&ndash; „<value>“. Obdobně jako pole, i struktura může být rekurzivní, tzn. že jako hodnota
se dá uložit další struktura, nebo pole.