XML-RPC
XML-RPC ( Uzaktan Yordam Çağrısı ), verileri kodlamak için XML'i ve mesaj iletim protokolü olarak HTTP'yi kullanan bir uzaktan yordam çağrısı protokolüdür. [ 1 ]
Çok basit bir protokoldür çünkü sadece birkaç faydalı veri tipi ve komutu ile kısa bir tam açıklama tanımlar. XML-RPC'nin basitliği, kapsamlı belgelere sahip olan ve kullanım için önemli ölçüde yazılım desteği gerektiren çoğu RPC protokolüyle çelişir.
UserLand Software şirketinden Dave Winer tarafından Microsoft ile birlikte 1998'de oluşturuldu . Microsoft'un çok basit olduğunu göz önünde bulundurarak, ona işlevsellikler eklemeye karar verdi, ardından birkaç geliştirme aşamasından sonra standart basit olmaktan çıktı ve şu anda SOAP olarak bilinen hale geldi . Temel bir fark, SOAP prosedürlerinde parametrelerin bir ada sahip olması ve sıralarının önemli olmamasıdır, XML-RPC'de durum böyle değildir . [ 2 ]
Veri türleri
XML-RPC belirtimine göre , [ 3 ] ana veri türleri şunlardır:
| İsim | Örnek etiketler | Tanım |
|---|---|---|
| dizi |
<array>
<data>
<value><i4> 1404 </i4></value>
<value><string> Burada bir şey var </string></value>
<value><i4> 1 </i4></ değer>
</data>
</array>
|
Anahtarları saklamadan değerler dizisi |
| base64 |
<base64> eW91IGNhbid0IHJlYWQgdGhpcyE= </base64>
|
Temel 64 kodlanmış ikili veri |
| boole |
<boolean> 1 </boolean>
|
Mantıksal değer (0 veya 1) |
| tarih/saat |
<dateTime.iso8601> 19980717T14:08:55 </dateTime.iso8601>
|
Gün ve saat |
| çift |
<double> -12.53 </double>
|
Çift duyarlıklı kayan nokta sayısı |
| tam sayı |
<i4> 42 </i4>
herhangi biri <int> 42 </int>
|
tam sayı |
| sicim |
<string> Merhaba dünya </string>
|
Karakter dizisi (dize). XML kodlamasını takip etmelidir . |
| yapı |
<struct>
<member>
<name> foo </name>
<value><i4> 1 </i4></value>
</member>
<member>
<name> bar </name>
<value><i4> 2 </i4></değer>
</member>
</struct>
|
Değer dizisi, anahtarları saklama |
| sıfır |
<nil/>
|
Boş değer; bir XML-RPC uzantısı |
Örnekler
- Bir XML-RPC çağrısı şöyle olabilir:
<?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>
- Çağrıya yanıt:
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string> Veri alışverişi no. 360 by 221 </string></value>
</param>
</params>
</methodResponse>
Uygulamalar
Çeşitli işletim sistemleri, programlama dilleri, ticari ve özgür yazılım lisansları için uygulamalar mevcuttur: [ 4 ] C /C++ , Delphi , Frontier , Guile , Java , Lisp , Microsoft .NET , Perl , PHP , Python , Real Basic , Rebol , Tcl , Web Nesneleri ve Zope .
Bilinen bazı uygulamalar şunlardır:
- Apache XML-RPC , [ 5 ] Java'da bir uygulama.
- XMLRPC-EPI , [ 6 ] bir C uygulaması.
- XML-RPC-C , [ 7 ] C ve C++ için bir uygulama.
Referanslar
- ^ Simon St. Laurent , Joe Johnston , Edd Dumbill . (Haziran 2001) Web Servislerini XML-RPC O'Reilly ile Programlama. İlk baskı. Dave Winer'ın önsözü. (İngilizcede)
- ↑ Dave Winer. (31 Mart 2001). Dikkat: SOAP ve XML-RPC UserLand Software, Inc. arasındaki önemli bir fark .
- ↑ Dave Winer. (15 Haziran 1999) XML-RPC Spesifikasyonu 15 Haziran 2007'de Wayback Machine'de arşivlendi . UserLand Software, Inc.
- ↑ Dave Winer. (17 Aralık 2003) XML-RPC Uygulamaları UserLand Software, Inc.
- ↑ Apache Yazılım Vakfı . Apache XML-RPC (İngilizce).
- ↑ Epinions, Inc. XMLRPC-EPI sourceforge.net.
- ↑ Eric Kidd. C ve C++ için XML-RPC sourceforge.net.
Ayrıca
Portal: Bilgisayar . Bilgisayarla ilgili içerik .- SABUN
- IDL
- XML
- kalp masajı
Dış bağlantılar
- XML-RPC Resmi Sitesi , UserLand Software, Inc. (İngilizce)
- XML-RPC Uzantıları