Content deleted Content added
Keystone18 (talk | contribs) mNo edit summary |
Citation bot (talk | contribs) Added work. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Internet protocols | #UCB_Category 165/248 |
||
(6 intermediate revisions by 6 users not shown) | |||
Line 14:
XML-RPC's idea of a human-readable-and-writable, script-parsable standard for HTTP-based requests and responses has also been implemented in competing specifications such as Allaire's [[WDDX|Web Distributed Data Exchange]] (WDDX) and webMethod's [[WIDL (Internet Standard)|Web Interface Definition Language]] (WIDL).<ref>{{Cite news|last=Udell |first=Jon |title=Exploring XML-RPC: DCOM? CORBA? RMI? Why Not Just XML-RPC? |work=Byte |access-date=2015-11-17 |date=1999-06-07 |url=http://www.byte.com/features/1999/06/0607XML_RPC5.html |url-status=dead |archive-url=https://web.archive.org/web/20000304171225/http://www.byte.com/features/1999/06/0607XML_RPC5.html |archive-date=4 March 2000 }}</ref> Prior art wrapping [[Component Object Model|COM]], [[Common Object Request Broker Architecture|CORBA]], and [[Java remote method invocation|Java RMI]] objects in XML syntax and transporting them via HTTP also existed in DataChannel's WebBroker technology.<ref>{{Cite news|volume=20 |issue=21 |last=Walsh |first=Jeff |title=W3C gives a nod to DataChannel's WebBroker |work=Infoworld |access-date=2015-11-17 |date=1998-05-25 |url=http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/21/i06-21.80.htm |url-status=dead |archive-url=https://web.archive.org/web/19990910213004/http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/21/i06-21.80.htm |archive-date=10 September 1999 }}</ref><ref>{{Cite web|last1=Vizard |first1=Michael |last2=Walsh |first2=Jeff |title=DataChannel's Dave Pool talks about shaping the role of XML to suit different needs |work=Infoworld |access-date=2015-12-08 |date=1998-06-29 |url=http://www.infoworld.com/cgi-bin/displayStory.pl?/interviews/980629pool.htm |url-status=dead |archive-url=https://web.archive.org/web/19990916093829/http://www.infoworld.com/cgi-bin/displayStory.pl?/interviews/980629pool.htm |archive-date=16 September 1999 }}</ref>
The generic use of XML for [[remote procedure call]] (RPC) was patented by Phillip Merrick, Stewart Allen, and Joseph Lapp in April 2006, claiming benefit to a provisional application filed in March 1998. The patent was assigned to [[webMethods]], located in [[Fairfax, Virginia]]. The patent expired on March 23, 2019.<ref name= "merrick01">{{cite web |url=http://www.google.com/patents?id=WFV4AAAAEBAJ |archive-url=https://web.archive.org/web/20111203095836/http://www.google.com/patents?id=WFV4AAAAEBAJ |url-status=dead |archive-date=3 December 2011 |title=US Patent 7,028,312 |access-date=18 September 2008 |author=Merrick|date=11 April 2006|display-authors=etal}}</ref>
==Usage==
Line 23:
''Identification'' of clients for authorization purposes can be achieved using popular HTTP security methods. [[Basic access authentication]] can be used for identification and authentication.
In comparison to RESTful protocols, where ''resource representations'' (documents) are transferred, XML-RPC is designed to ''call methods''. The practical difference is just that XML-RPC is much more structured, which means common library code can be used to implement clients and servers and there is less design and documentation work for a specific application protocol. {{Citation needed|reason=This is a vague opinion that doesn't reflect commonly accepted views, XML-RPC adoption having been declining for its lack of reuse and common structure by major actors since the last 20 years|date=August 2024}} One salient technical difference between typical RESTful protocols and XML-RPC is that many RESTful protocols use the HTTP URI for parameter information, whereas with XML-RPC, the URI just identifies the server.
[[JSON-RPC]] is similar to XML-RPC.
Line 59:
<boolean>1</boolean>
</syntaxhighlight>
|[[Boolean
|-
|date/time
Line 84:
<i4>42</i4>
</syntaxhighlight>
|
|-
|string
Line 119:
</syntaxhighlight>
|[[nullable type|Discriminated null value]]; an XML-RPC [https://web.archive.org/web/20050911054235/http://ontosys.com/xml-rpc/extensions.php extension]
|
|-
|long
|
<syntaxhighlight lang="xml">
<i8>1312</i8>
</syntaxhighlight>
|Signed integer coded on 8 bytes. This is not part of the specification, but it is supported by several XML-RPC implementations<ref>{{cite web |title=RPC::XML - A set of classes for core data, message and XML handling - metacpan.org |work=MetaCPAN |url=https://metacpan.org/pod/RPC::XML |access-date=13 April 2025}}</ref>{{,}}<ref>{{cite web |title=User manual for XML-RPC For C/C++ |url=https://xmlrpc-c.sourceforge.io/doc/libgeneral.html |access-date=13 April 2025}}</ref>
|}
Line 202 ⟶ 210:
* [[Weblogs.com]]
* [[Pingback]]
*[[Ajax (programming)]]
*[[Software componentry#Technologies for Software Components|Component technologies]]
Line 217 ⟶ 223:
==External links==
* {{web archive|url=https://web.archive.org/web/20130113041824/http://xmlrpc.scripting.com/default.html|title=Official website}}
{{DEFAULTSORT:Xml-Rpc}}
|