XML-RPC
Az XML-RPC ( Remote Procedure Call ) egy távoli eljáráshívási protokoll , amely XML -t használ az adatok kódolására, a HTTP -t pedig üzenetátviteli protokollként. [ 1 ]
Ez egy nagyon egyszerű protokoll, mivel csak néhány hasznos adattípust és parancsot határoz meg, valamint egy rövid teljes leírást. Az XML-RPC egyszerűsége ellentétben áll a legtöbb RPC protokollal, amelyek kiterjedt dokumentációval rendelkeznek, és használatuk jelentős szoftvertámogatást igényel.
Dave Winer, a UserLand Software cégtől a Microsofttal együttműködve hozta létre 1998 -ban . Tekintettel arra, hogy a Microsoft nagyon egyszerű volt, úgy döntött, hogy funkcionalitásokat ad hozzá, majd a fejlesztés több szakasza után a szabvány megszűnt egyszerű lenni, és a jelenleg SOAP néven ismert szabvány lett . Alapvető különbség, hogy a SOAP eljárásokban a paramétereknek van neve, és sorrendjük nem számít, ami XML-RPC esetén nem így van . [ 2 ]
Adattípusok
Az XML-RPC specifikáció szerint [ 3 ] a fő adattípusok a következők:
| Név | Példacímkék | Leírás |
|---|---|---|
| sor |
<array>
<data>
<value><i4> 1404 </i4></value>
<value><string> Valami itt </string></value>
<value><i4> 1 </i4></ érték>
</data>
</array>
|
Értékek tömbje kulcsok tárolása nélkül |
| alap64 |
<base64> eW91IGNhbid0IHJlYWQgdGhpcyE= </base64>
|
Base 64 kódolású bináris adatok |
| logikai érték |
<boolean> 1 </boolean>
|
Logikai érték (0 vagy 1) |
| dátum idő |
<dateTime.iso8601> 19980717T14:08:55 </dateTime.iso8601>
|
Nap és óra |
| kettős |
<double> -12,53 </double>
|
Dupla pontosságú lebegőpontos szám |
| egész szám |
<i4> 42 </i4>
bármelyik <int> 42 </int>
|
egész szám |
| húr |
<string> Hello világ </string>
|
Karakterlánc (karakterlánc). Követnie kell az XML kódolást . |
| szerkezet |
<struct>
<member>
<name> foo </name>
<value><i4> 1 </i4></value>
</member>
<member>
<name> bar </name>
<value><i4> 2 </i4></value>
</member>
</struct>
|
Értékek tömbje, kulcsok tárolása |
| nulla |
<nil/>
|
null érték; egy XML-RPC kiterjesztés |
Példák
- Az XML-RPC hívás a következő lehet:
<?xml version="1.0"?>
<methodCall>
<methodName> org.wikipedia.DataExchange </methodName>
<params>
<param>
<value><i4> 360 </i4></value>
</param>
<param>
<value><i4> 221 </i4></value>
</param>
</params>
</methodCall>
- Válasz a felszólításra:
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string> Adatcsere sz. 360 x 221 </string></value>
</param>
</params>
</methodResponse>
Megvalósítások
Különféle operációs rendszerekhez, programozási nyelvekhez, kereskedelmi és ingyenes szoftverlicencekhez léteznek megvalósítások: [ 4 ] C /C++ , Delphi , Frontier , Guile , Java , Lisp , Microsoft .NET , Perl , PHP , Python , Real Basic , Rebol , Tcl , WebObjects és Zope .
Néhány ismert megvalósítás:
- Apache XML-RPC , [ 5 ] egy Java nyelvű implementáció.
- XMLRPC-EPI , [ 6 ] C implementáció.
- XML-RPC-C , [ 7 ] C és C++ implementációja.
Hivatkozások
- ^ Simon St. Laurent , Joe Johnston , Edd Dumbill . (2001. június) Webszolgáltatások programozása XML-RPC O'Reilly segítségével. Első kiadás. Dave Winer előszava. (angolul)
- ↑ Dave Winer. (2001. március 31.). Figyelem: A legfontosabb különbség a SOAP és az XML-RPC UserLand Software, Inc. között.
- ↑ Dave Winer. (1999. június 15.) XML-RPC specifikáció archiválva 2007. június 15-én, a Wayback Machine -nél . UserLand Software, Inc.
- ↑ Dave Winer. (2003. december 17.) XML-RPC Implementations UserLand Software, Inc.
- ↑ Apache Software Foundation . Apache XML-RPC (angol nyelven).
- ↑ Epinions, Inc. XMLRPC-EPI sourceforge.net.
- ↑ Eric Kidd. XML-RPC for C és C++ sourceforge.net.
Lásd még
Portál: Számítástechnika . Számítógéppel kapcsolatos tartalom .- SZAPPAN
- IDL
- XML
- CPR
Külső linkek
- XML-RPC hivatalos webhely , UserLand Software, Inc. (angol nyelven)
- XML-RPC kiterjesztések