<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=XML-RPC</id>
	<title>XML-RPC - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=XML-RPC"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=XML-RPC&amp;action=history"/>
	<updated>2026-05-16T22:28:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=XML-RPC&amp;diff=19477&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=XML-RPC&amp;diff=19477&amp;oldid=prev"/>
		<updated>2026-04-25T06:35:53Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;XML-RPC&amp;#039;&amp;#039;&amp;#039; ([[Extensible Markup Language]] [[Remote Procedure Call]]) ist eine Definition zum Methoden- oder auch Funktionsaufruf durch [[Verteiltes System|verteilte Systeme]].&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Bei der Spezifikation wurde darauf Wert gelegt, dass eine Implementierung von XML-RPC ohne großen Aufwand in unterschiedlichen [[Programmiersprache]]n und auf unterschiedlichen Systemplattformen möglich ist.&lt;br /&gt;
Auch aus diesem Grund wurden zur Realisierung zwei Standards miteinander verbunden:&lt;br /&gt;
Für den Transport der Daten wurde auf das [[Hypertext Transfer Protocol]] (HTTP) zurückgegriffen, während die Darstellung der übertragenen Daten in der [[Extensible Markup Language]] (XML) geschieht.&lt;br /&gt;
&lt;br /&gt;
Die Wahl dieser Standards stellt auch den wesentlichen Unterschied zu älteren RPC-Mechanismen, wie beispielsweise [[Remote Procedure Call|RPC]], [[Common Object Request Broker Architecture|Corba]] oder [[Distributed Component Object Model|DCOM]] dar, bei denen die Daten zumeist in einer (teilweise systemabhängigen: DCOM) binären Darstellung über spezielle Übertragungsprotokolle übermittelt werden.&lt;br /&gt;
&lt;br /&gt;
Historisch gesehen ist XML-RPC der Vorgänger von [[SOAP]], ist im Gegensatz zu diesem jedoch wesentlich schlanker und schneller zu verstehen.&lt;br /&gt;
&lt;br /&gt;
Es gibt zahlreiche Implementierungen für viele der heute gängigen Programmiersprachen, die die Basisfunktionalitäten des Methodenaufrufs und der Methodenbehandlung übernehmen.&lt;br /&gt;
Zu den Basisfunktionalitäten in diesen Bibliotheken gehören unter anderem:&lt;br /&gt;
* Darstellung der [[Datentyp|Datentypen]],&lt;br /&gt;
* Generierung und Analyse der Aufruf- und der Antwortpakete,&lt;br /&gt;
* Übertragung und Empfang derselben und&lt;br /&gt;
* oft auch die Bereitstellung von [[Skeleton (Programmierung)|Skeleton]] und [[Stub (Programmierung)|Stub]] zum einfachen „mit Leben füllen“ des Programmcodes.&lt;br /&gt;
&lt;br /&gt;
Folgende Datentypen sind in XML-RPC definiert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
! Typname(n) in XML-RPC&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|int, i4&lt;br /&gt;
|[[Integer (Datentyp)]]&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|[[Gleitkommazahl]]&lt;br /&gt;
|-&lt;br /&gt;
|boolean&lt;br /&gt;
|[[Boolesche Variable]]&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|[[Zeichenkette]]&lt;br /&gt;
|-&lt;br /&gt;
|dateTime.iso8601&lt;br /&gt;
|Datum und Uhrzeit ähnlich&amp;lt;ref&amp;gt;XML-RPC verwendet die Datumsangabe im Format YYYYmmdd&amp;#039;T&amp;#039;HH:MM:SS und ohne Angabe einer Zeitzone.&amp;lt;/ref&amp;gt; dem [[ISO 8601|ISO-Format]]&lt;br /&gt;
|-&lt;br /&gt;
|base64&lt;br /&gt;
|[[Base64]]-kodierte binäre Daten&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mehrere dieser einfachen Datentypen können mittels „struct“ und „array“ zusammengefasst werden.&lt;br /&gt;
Ein „struct“ stellt hierbei eine Ansammlung von Schlüssel-Wert-Paaren dar; auf jeden enthaltenen Wert kann also durch einen eindeutigen Schlüssel zugegriffen werden.&lt;br /&gt;
Ein „array“ stellt hingegen eine [[Liste (Datenstruktur)|Liste]] dar; jeder enthaltene Wert wird hierbei eindeutig über seine Position beschrieben.&lt;br /&gt;
Neben den einfachen Datentypen können „struct“s und „array“s, wiederum „struct“s und „array“s als Werte enthalten; es lassen sich somit beliebig komplexe Datenstrukturen darstellen.&lt;br /&gt;
&lt;br /&gt;
In [[Java (Programmiersprache)|Java]] ist der dem „struct“ entsprechende Datentyp die sogenannte Map (java.util.Map).&lt;br /&gt;
Bei den Implementierungen wird allerdings zumeist die Klasse HashTable zur Darstellung verwendet, die die Schnittstelle Map implementiert, aber schon länger in Java existiert.&lt;br /&gt;
Der dem „array“ entsprechende Datentyp ist in Java die sogenannte List (java.util.List) oder ein Object-Array.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen des Standards ==&lt;br /&gt;
Es existieren vielfältige Erweiterungen des Standards, um mutmaßliche Lücken im Standard zu schließen.&lt;br /&gt;
Meist beruhen diese Erweiterungen jedoch auf einem Missverständnis, was XML-RPC ist, und gefährden die Interoperabilität unterschiedlicher Systeme.&lt;br /&gt;
Daher bieten auch die meisten Implementierungen einen Schalter an, um in einen Kompatibilitätsmodus zu wechseln, in dem nur der Standard unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
=== Null-Datentyp ===&lt;br /&gt;
Die Darstellungen von sogenannten [[Nullwert|Null-Werten]] (auch bekannt als NIL, NULL oder NUL) ist mit XML-RPC nicht möglich.&lt;br /&gt;
Methoden müssen daher immer einen konkreten Wert zurückgeben, in seltenen Fällen kann dies ein Problem sein.&lt;br /&gt;
Es existieren unterschiedliche Erweiterungen des XML-RPC-Standards, um dieses Problem zu beheben, allerdings werden diese Erweiterungen nicht von allen Servern und Clients unterstützt.&amp;lt;ref&amp;gt;beispielsweise: {{Webarchiv | url=http://ontosys.com/xml-rpc/extensions.php | wayback=20070309154227 | text=ontosys.com}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Anfrage ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;methodCall&amp;gt;&lt;br /&gt;
   &amp;lt;methodName&amp;gt;warenkorb.addPosition&amp;lt;/methodName&amp;gt;&lt;br /&gt;
   &amp;lt;params&amp;gt;&lt;br /&gt;
     &amp;lt;param&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;string&amp;gt;Monitor&amp;lt;/string&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
     &amp;lt;/param&amp;gt;&lt;br /&gt;
     &amp;lt;param&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;int&amp;gt;10&amp;lt;/int&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
     &amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/params&amp;gt;&lt;br /&gt;
 &amp;lt;/methodCall&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Antwort ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;methodResponse&amp;gt;&lt;br /&gt;
   &amp;lt;params&amp;gt;&lt;br /&gt;
     &amp;lt;param&amp;gt;&lt;br /&gt;
       &amp;lt;value&amp;gt;&amp;lt;string&amp;gt;OK&amp;lt;/string&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
     &amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/params&amp;gt;&lt;br /&gt;
 &amp;lt;/methodResponse&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Code-Beispiel:&amp;#039;&amp;#039; Linux Documentation Project&amp;lt;ref&amp;gt;{{cite web | url=https://tldp.org/HOWTO/XML-RPC-HOWTO/index.html | title=XML-RPC HOWTO | publisher=tldp.org | author=Eric Kidd  | date=2001-04-12 | language=englisch | accessdate=2019-09-14}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[SOAP]]&lt;br /&gt;
* [[Representational State Transfer|REST]]&lt;br /&gt;
*[[Pingback]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://xmlrpc.scripting.com/ Offizielle Startseite] (englisch)&lt;br /&gt;
* [http://groups.yahoo.com/group/xml-rpc/ XML-RPC-Forum] (englisch)&lt;br /&gt;
* [http://www.xml.com/pub/rg/XML_RPC_Tutorials Anleitungen] (englisch)&lt;br /&gt;
* [https://xml.coverpages.org/xml-rpc.html Technologie-Berichte] (englisch)&lt;br /&gt;
* [https://xmlrpc-c.sourceforge.net/introspection.html XML-RPC Introspection] (englisch)&lt;br /&gt;
* [http://effbot.org/zone/xmlrpc-errata.htm unofficial XML-RPC Errata] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Xml Rpc}}&lt;br /&gt;
[[Kategorie:Webservice]]&lt;br /&gt;
[[Kategorie:XML-basierte Sprache]]&lt;br /&gt;
[[Kategorie:Abkürzung|XMLRPC]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>