www.wikidata.de-de.nina.az
XML RPC Extensible Markup Language Remote Procedure Call ist eine Definition zum Methoden oder auch Funktionsaufruf durch verteilte Systeme Inhaltsverzeichnis 1 Allgemeines 2 Erweiterungen des Standards 2 1 Null Datentyp 3 Beispiele 3 1 Anfrage 3 2 Antwort 4 Siehe auch 5 Weblinks 6 EinzelnachweiseAllgemeines BearbeitenBei der Spezifikation wurde darauf Wert gelegt dass eine Implementierung von XML RPC ohne grossen Aufwand in unterschiedlichen Programmiersprachen und auf unterschiedlichen Systemplattformen moglich ist Auch aus diesem Grund wurden zur Realisierung zwei Standards miteinander verbunden Fur den Transport der Daten wurde auf das Hypertext Transfer Protocol HTTP zuruckgegriffen wahrend die Darstellung der ubertragenen Daten in der Extensible Markup Language XML geschieht Die Wahl dieser Standards stellt auch den wesentlichen Unterschied zu alteren RPC Mechanismen wie beispielsweise RPC Corba oder DCOM dar bei denen die Daten zumeist in einer teilweise systemabhangigen DCOM binaren Darstellung uber spezielle Ubertragungsprotokolle ubermittelt werden Historisch gesehen ist XML RPC der Vorganger von SOAP ist im Gegensatz zu diesem jedoch wesentlich schlanker und schneller zu verstehen Es gibt zahlreiche Implementierungen fur viele der heute gangigen Programmiersprachen die die Basisfunktionalitaten des Methodenaufrufs und der Methodenbehandlung ubernehmen Zu den Basisfunktionalitaten in diesen Bibliotheken gehoren unter anderem Darstellung der Datentypen Generierung und Analyse der Aufruf und der Antwortpakete Ubertragung und Empfang derselben und oft auch die Bereitstellung von Skeleton und Stub zum einfachen mit Leben fullen des Programmcodes Folgende Datentypen sind in XML RPC definiert Typname n in XML RPC Beschreibungint i4 Integer Datentyp double Gleitkommazahlboolean Boolesche Variablestring ZeichenkettedateTime iso8601 Datum und Uhrzeit ahnlich 1 dem ISO Formatbase64 Base64 kodierte binare DatenMehrere dieser einfachen Datentypen konnen mittels struct und array zusammengefasst werden Ein struct stellt hierbei eine Ansammlung von Schlussel Wert Paaren dar auf jeden enthaltenen Wert kann also durch einen eindeutigen Schlussel zugegriffen werden Ein array stellt hingegen eine Liste dar jeder enthaltene Wert wird hierbei eindeutig uber seine Position beschrieben Neben den einfachen Datentypen konnen struct s und array s wiederum struct s und array s als Werte enthalten es lassen sich somit beliebig komplexe Datenstrukturen darstellen In Java ist der dem struct entsprechende Datentyp die sogenannte Map java util Map Bei den Implementierungen wird allerdings zumeist die Klasse HashTable zur Darstellung verwendet die die Schnittstelle Map implementiert aber schon langer in Java existiert Der dem array entsprechende Datentyp ist in Java die sogenannte List java util List oder ein Object Array Erweiterungen des Standards BearbeitenEs existieren vielfaltige Erweiterungen des Standards um mutmassliche Lucken im Standard zu schliessen Meist beruhen diese Erweiterungen jedoch auf einem Missverstandnis was XML RPC ist und gefahrden die Interoperabilitat unterschiedlicher Systeme Daher bieten auch die meisten Implementierungen einen Schalter an um in einen Kompatibilitatsmodus zu wechseln in dem nur der Standard unterstutzt wird Null Datentyp Bearbeiten Die Darstellungen von sogenannten Null Werten auch bekannt als NIL NULL oder NUL ist mit XML RPC nicht moglich Methoden mussen daher immer einen konkreten Wert zuruckgeben in seltenen Fallen kann dies ein Problem sein Es existieren unterschiedliche Erweiterungen des XML RPC Standards um dieses Problem zu beheben allerdings werden diese Erweiterungen nicht von allen Servern und Clients unterstutzt 2 Beispiele BearbeitenAnfrage Bearbeiten lt xml version 1 0 gt lt methodCall gt lt methodName gt warenkorb addPosition lt methodName gt lt params gt lt param gt lt value gt lt string gt Monitor lt string gt lt value gt lt param gt lt param gt lt value gt lt int gt 10 lt int gt lt value gt lt param gt lt params gt lt methodCall gt Antwort Bearbeiten lt xml version 1 0 gt lt methodResponse gt lt params gt lt param gt lt value gt lt string gt OK lt string gt lt value gt lt param gt lt params gt lt methodResponse gt Code Beispiel Linux Documentation Project 3 Siehe auch BearbeitenSOAP REST PingbackWeblinks BearbeitenOffizielle Startseite englisch XML RPC Forum englisch Anleitungen englisch Technologie Berichte englisch XML RPC Introspection englisch unofficial XML RPC Errata englisch Einzelnachweise Bearbeiten XML RPC verwendet die Datumsangabe im Format YYYYmmdd T HH MM SS und ohne Angabe einer Zeitzone beispielsweise ontosys com Memento vom 9 Marz 2007 im Internet Archive Eric Kidd XML RPC HOWTO tldp org 12 April 2001 abgerufen am 14 September 2019 englisch Abgerufen von https de wikipedia org w index php title XML RPC amp oldid 196369486