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]