Using Extensible Markup Language-Remote Procedure Calling (XML-RPC) in Blocks Extensible Exchange Protocol (BEEP)
RFC 3529
Document | Type |
RFC - Experimental
(April 2003; No errata)
Updated by RFC 8553
Was draft-harold-beep-xmlrpc (app)
|
|
---|---|---|---|
Author | Ward Harold | ||
Last updated | 2015-10-14 | ||
Stream | ISE | ||
Formats | plain text html pdf htmlized bibtex | ||
Stream | ISE state | (None) | |
Consensus Boilerplate | Unknown | ||
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 3529 (Experimental) | |
Telechat date | |||
Responsible AD | Patrik Fältström | ||
Send notices to | (None) |
Network Working Group W. Harold Request for Comments: 3529 IBM Category: Experimental April 2003 Using Extensible Markup Language-Remote Procedure Calling (XML-RPC) in Blocks Extensible Exchange Protocol (BEEP) Status of this Memo This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract XML-RPC is an Extensible Markup Language-Remote Procedure Calling protocol that works over the Internet. It defines an XML format for messages that are transfered between clients and servers using HTTP. An XML-RPC message encodes either a procedure to be invoked by the server, along with the parameters to use in the invocation, or the result of an invocation. Procedure parameters and results can be scalars, numbers, strings, dates, etc.; they can also be complex record and list structures. This document specifies a how to use the Blocks Extensible Exchange Protocol (BEEP) to transfer messages encoded in the XML-RPC format between clients and servers. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. BEEP Profile Identification . . . . . . . . . . . . . . . . 2 2.1 Profile Initialization . . . . . . . . . . . . . . . . 3 3. XML-RPC Message Packages . . . . . . . . . . . . . . . . . . 4 4. XML-RPC Message Exchange . . . . . . . . . . . . . . . . . . 5 5. URL Schemes . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1 The xmlrpc.beep URL Scheme. . . . . . . . . . . . . . . 5 5.1.1 Resolving IP/TCP Address Information . . . . . . 6 5.2 The xmlrpc.beeps URL Scheme . . . . . . . . . . . . . . 7 6. Initial Registrations . . . . . . . . . . . . . . . . . . . 9 6.1 Registration: The XML-RPC Profile . . . . . . . . . . . 9 6.2 Registration: The xmlrpc.beep URL Scheme. . . . . . . . 9 Harold Experimental [Page 1] RFC 3529 Using XML-RPC in BEEP April 2003 6.3 Registration: The xmlrpc.beeps URL Scheme . . . . . . . 10 6.4 Registration: The System (Well-Known) TCP port number for XML-RPC over BEEP . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . 11 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 Appendix A. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . 13 B. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 15 1. Introduction This memo specifies how messages encoded in the XML-RPC [1] format are transmitted using a BEEP profile [2]. Throughout this memo, the terms "request" and "response" refer to the "methodCall" and "methodResponse" elements defined by the XML-RPC specification [1]. Further the terms "peer", "client", "server", and "one-to-one" are used in the context of BEEP. In particular, Sections 2.1 and 2.1.1 of [2] discuss BEEP roles and exchange styles. 2. BEEP Profile Identification The BEEP profile for XML-RPC is identified as http://iana.org/beep/transient/xmlrpc in the BEEP "profile" element during channel creation. In BEEP, when the first channel is successfully created, the "serverName" attribute in the "start" element identifies the "virtual host" associated with the peer acting in the server role, e.g., <start number='1' serverName='stateserver.example.com'> <profile uri='http://iana.org/beep/transient/xmlrpc' /> </start> The "serverName" attribute is analogous to HTTP's "Host" request- header field (c.f., Section 14.23 of [3]). Harold Experimental [Page 2] RFC 3529 Using XML-RPC in BEEP April 2003 There are two states in the BEEP profile for XML-RPC, "boot", the profile's initial state, and "ready": o In the "boot" state, the peer requesting the creation of the channel sends a "bootmsg" (either during channel initialization or in a "MSG" message). * If the other peer sends a "bootrpy" (either during channel initialization or in a "RPY" message), then the "ready" state is entered * Otherwise, the other peer sends an "error" (either during channel initialization or in a "ERR" message), and no state change occurs. o In the "ready" state, the initiating peer begins an XML-RPCShow full document text