Network Working Group E. O'Tuathail Internet-Draft Clipcode.com Expires: December 9, 2001 M. Rose Invisible Worlds, Inc. June 10, 2001 Using SOAP in BEEP draft-etal-beep-soap-00 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 9, 2001. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Abstract SOAP is an XML-based messaging protocol used to implement a wide variety of distributed messaging models. It defines a message format and describes a variety of message patterns, including, but not limited to, RPC, asynchronous event notification, unacknowledged messages, and forwarding via SOAP intermediaries. A SOAP binding describes how SOAP messages are transmitted in the network. This memo specifies a SOAP binding to BEEP. O'Tuathail & Rose Expires December 9, 2001 [Page 1] Internet-Draft Using SOAP in BEEP June 2001 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Profile Identification . . . . . . . . . . . . . . . . . . . . 4 2.1 Resource Identification . . . . . . . . . . . . . . . . . . . 4 2.2 Virtual Host Identification . . . . . . . . . . . . . . . . . 5 3. SOAP Message Patterns . . . . . . . . . . . . . . . . . . . . 6 3.1 One-way Message . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Request-Response Exchange . . . . . . . . . . . . . . . . . . 6 3.3 Request/N-Responses Exchange . . . . . . . . . . . . . . . . . 6 4. Initial Registrations . . . . . . . . . . . . . . . . . . . . 7 4.1 Registration: The SOAP Profile . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 9 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 B. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 12 O'Tuathail & Rose Expires December 9, 2001 [Page 2] Internet-Draft Using SOAP in BEEP June 2001 1. Introduction This memo specifies how SOAP 1.1 envelopes [1] are transmitted using a BEEP profile [2]. Throughout this memo, the term "envelope" refers to the "SOAP- Env:Envelope" element defined in Section 4 of [1]. Further, the terms "peer", "client", "server", "one-to-one", and "one-to-many" are used in the context of BEEP. In particular, Sections 2.1 and 2.1.1 of [2] discuss BEEP roles and exchange styles. O'Tuathail & Rose Expires December 9, 2001 [Page 3] Internet-Draft Using SOAP in BEEP June 2001 2. Profile Identification The BEEP profile for SOAP is identified as http://clipcode.org/beep/soap in the BEEP "profile" element during channel creation. The BEEP profile for SOAP identified by this URI transmits envelopes encoded as UTF-8 using the media type "application/xml" [3], e.g., MSG 1 1 . 0 364 Content-Type: application/xml DIS END Future memos may define a different URI to identify a BEEP profile for SOAP that uses an alternative encoding for the envelope (e.g., binary, compressed, and so on). 2.1 Resource Identification Each channel bound to the BEEP profile for SOAP provides access to a single resource (a network data object or service). This is specified when the channel is started by appending a "resource" parameter to the URI used to start the channel, e.g., The "resource" parameter is analagous to HTTP's "abs_path" Request- URI parameter (c.f., Section 5.1.2 of [4]). O'Tuathail & Rose Expires December 9, 2001 [Page 4] Internet-Draft Using SOAP in BEEP June 2001 2.2 Virtual Host Identification In BEEP, when the first channel is successfully started, the "serverName" attribute identifies the "virtual host" associated with the peer acting in the server role, e.g., The "serverName" attribute is analagous to HTTP's "Host" request- header field (c.f., Section 14.23 of [5]). O'Tuathail & Rose Expires December 9, 2001 [Page 5] Internet-Draft Using SOAP in BEEP June 2001 3. SOAP Message Patterns 3.1 One-way Message A one-way message involves sending a message without any response being returned. The BEEP profile for SOAP achieves this using a one-to-many exchange, in which the client sends a "MSG" message containing an envelope, and the server immediately sends back a "NUL" message, before processing the contents of the envelope. 3.2 Request-Response Exchange A request/response exchange involves sending a request, which results in a response being returned. The BEEP profile for SOAP achieves this using a one-to-one exchange, in which the client sends a "MSG" message containing an envelope, and the server sends back a "RPY" message containing an envelope. In addition, a request/response exchange may also be achieved during channel initialization (c.f., Section 2.3.1.2 of [2]). Note that BEEP imposes both size and encoding restrictions on the data exchanged during channel initialization. Finally, the BEEP profile for SOAP does not use the "ERR" message when performing one-to-one exchanges -- whatever response is generated by the server is always returned in the "RPY" message. 3.3 Request/N-Responses Exchange A request/N-responses exchange involves sending a request, which results in zero or more responses being returned. The BEEP profile for SOAP achieves this using a one-to-many exchange, in which the client sends a "MSG" message containing an envelope, and the server sends back zero or more "ANS" messages, each containing an envelope, followed by a "NUL" message. O'Tuathail & Rose Expires December 9, 2001 [Page 6] Internet-Draft Using SOAP in BEEP June 2001 4. Initial Registrations 4.1 Registration: The SOAP Profile Profile Identification: http://clipcode.org/beep/SOAP Messages exchanged during Channel Creation: envelope Messages starting one-to-one exchanges: envelope Messages in positive replies: envelope Messages in negative replies: none Messages in one-to-many exchanges: envelope Message Syntax: c.f., Section 4 of [1] Message Semantics: c.f., [1] Contact Information: c.f., the "Authors' Addresses" section of this memo O'Tuathail & Rose Expires December 9, 2001 [Page 7] Internet-Draft Using SOAP in BEEP June 2001 5. Security Considerations Consult [2]'s Section 9 for a discussion of BEEP-specific security issues. Don't bother consulting [1]'s Section 8 for a discussion of SOAP- specific security issues. O'Tuathail & Rose Expires December 9, 2001 [Page 8] Internet-Draft Using SOAP in BEEP June 2001 References [1] World Wide Web Consortium, "Simple Object Access Protocol (SOAP) 1.1", May 2000, . [2] Rose, M., "The Blocks Extensible Exchange Protocol Core", RFC 3080, March 2001. [3] Murata, M., St.Laurent, S. and D. Kohn, "XML Media Types", RFC 3023, January 2001. [4] Berners-Lee, T., Fielding, R. and H. Frystyk, "Hypertext Transfer Protocol -- HTTP/1.0", RFC 1945, May 1996. [5] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Authors' Addresses Eamon O'Tuathail Clipcode.com 24 Thomastown Road Dun Laoghaire Dublin IE Phone: +353 1 2350 424 EMail: eamon.otuathail@clipcode.com URI: http://www.clipcode.com/ Marshall T. Rose Invisible Worlds, Inc. 131 Stony Circle Suite 500 Santa Rosa, CA 95401 US Phone: +1 707 578 2350 EMail: mrose@invisible.net URI: http://invisible.net/ O'Tuathail & Rose Expires December 9, 2001 [Page 9] Internet-Draft Using SOAP in BEEP June 2001 Appendix A. Acknowledgements tbd... O'Tuathail & Rose Expires December 9, 2001 [Page 10] Internet-Draft Using SOAP in BEEP June 2001 Appendix B. IANA Considerations If the IESG approves this memo for standards-track publication, then the IANA registers "SOAP" as a standards-track BEEP profile, as specified in Section 4.1, and selects an appropriate URI, e.g., http://iana.org/beep/soap O'Tuathail & Rose Expires December 9, 2001 [Page 11] Internet-Draft Using SOAP in BEEP June 2001 Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. O'Tuathail & Rose Expires December 9, 2001 [Page 12]