As per Relevance of the word exchange, we have this rfc below:











Network Working Group E. O'
Request for Comments: 3288 Clipcode.
Category: Standards Track M.
Dover Beach Consulting, Inc
June 2002


Using the Simple Object Access Protocol (SOAP
in Blocks Extensible Exchange Protocol (BEEP

Status of this

This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited

Copyright

Copyright (C) The Internet Society (2002). All Rights Reserved



This memo specifies a Simple Object Access Protocol (SOAP) binding
the Blocks Extensible Exchange Protocol core (BEEP). A SOAP
describes how SOAP messages are transmitted in the network

The SOAP is an XML-based (extensible markup language)
protocol used to implement a wide variety of distributed
models. It defines a message format and describes a variety
message patterns, including, but not limited to, RPC,
event notification, unacknowledged messages, and forwarding via
intermediaries

















O'Tuathail & Rose Standards Track [Page 1]

RFC 3288 Using SOAP in BEEP June 2002


Table of

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. BEEP Profile Identification . . . . . . . . . . . . . . . . 4
2.1 Profile Initialization . . . . . . . . . . . . . . . . . . . 5
3. SOAP Message Packages . . . . . . . . . . . . . . . . . . . 7
4. SOAP Message Patterns . . . . . . . . . . . . . . . . . . . 9
4.1 One-way Message . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Request-Response Exchange . . . . . . . . . . . . . . . . . 9
4.3 Request/N-Responses Exchange . . . . . . . . . . . . . . . . 9
5. URL Schemes . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1 The soap.beep URL Scheme . . . . . . . . . . . . . . . . . . 10
5.1.1 Resolving IP/TCP Address Information . . . . . . . . . . . . 10
5.2 The soap.beeps URL Scheme . . . . . . . . . . . . . . . . . 11
6. Registration Templates . . . . . . . . . . . . . . . . . . . 12
6.1 SOAP Profile Feature Registration Template . . . . . . . . . 12
7. Initial Registrations . . . . . . . . . . . . . . . . . . . 13
7.1 Registration: The SOAP Profile . . . . . . . . . . . . . . . 13
7.2 Registration: The soap.beep URL Scheme . . . . . . . . . . . 14
7.3 Registration: The soap.beeps URL Scheme . . . . . . . . . . 15
7.4 Registration: The System (Well-Known) TCP port number
SOAP over BEEP . . . . . . . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . 16
References . . . . . . . . . . . . . . . . . . . . . . . . . 17
IANA Considerations . . . . . . . . . . . . . . . . . . . . 18
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 19
Full Copyright Statement . . . . . . . . . . . . . . . . . . 20























O'Tuathail & Rose Standards Track [Page 2]

RFC 3288 Using SOAP in BEEP June 2002


1.

This memo specifies how SOAP 1.1 envelopes[1] are transmitted using
BEEP profile[2]. In the W3C, the XMLP effort is evolving SOAP
Accordingly, this memo provides a mechanism for negotiating the
of new features

Throughout this memo, the term "envelope" refers to the "SOAP
Env:Envelope" element defined in Section 4 of [1]. Further,
terms "peer", "client", "server", "one-to-one", and "one-to-many"
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 Standards Track [Page 3]

RFC 3288 Using SOAP in BEEP June 2002


2. BEEP Profile

The BEEP profile for SOAP is identified

http://iana.org/beep/

in the BEEP "profile" element during channel creation

In BEEP, when the first channel is successfully created,
"serverName" attribute in the "start" element identifies the "
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 [3]).

There are two states in the BEEP profile for SOAP, "boot"
"ready":

o In the "boot" state, the peer requesting the creation of
channel sends a "bootmsg" (either during channel initialization
in a "MSG" message).

* If the other peer sends a "bootrpy" (either during
initialization or in a "RPY" message), then the "ready"
is

* Otherwise, the other peer sends an "error" (either
channel initialization or in a "ERR" message), then no
change occurs

o In the "ready" state, either peer begins a SOAP message pattern
sending a "MSG" message containing an envelope. The other
completes the message pattern either by

* sending back a "RPY" message containing an envelope; or

* sending back zero or more "ANS" messages, each containing
envelope, followed by a "NUL" message

Regardless, no state change occurs







O'Tuathail & Rose Standards Track [Page 4]

RFC 3288 Using SOAP in BEEP June 2002


2.1 Profile

The boot message is used for two purposes

resource identification: each channel bound to the BEEP
for SOAP provides access to a single resource (a network
object or service).

feature negotiation: if new features of SOAP (such as compression
emerge, their use can be negotiated

The DTD syntax for the boot message and its response are

resource CDATA #
features NMTOKENS "">

features NMTOKENS "">

The boot message contains a mandatory and an optional attribute

o the "resource" attribute, which is analagous to HTTP's "abs_path
Request-URI parameter (c.f., Section 5.1.2 of [3]); and

o the "features" attribute, which, if present, contains one or
feature tokens, each indicating an optional feature of the
profile for SOAP that is being requested for possible use over
channel

Section 6.1 defines a registration template for optional features

If the peer acting in the server role recognizes the
resource, it replies with the boot response that contains
optional attribute

o the "features" attribute, if present, contains a subset of
feature tokens in the boot message, indicating which features
be used over the channel. (If not present or empty, then
features may be used.)

Otherwise, if the boot message is improperly formed, or if
requested resource isn't recognized, the peer acting in the
role replies with an error message (c.f., Section 7.1 of [2]).





O'Tuathail & Rose Standards Track [Page 5]

RFC 3288 Using SOAP in BEEP June 2002


Typically, the boot message and its response are exchanged
channel initialization (c.f., Section 2.3.1.2 of [2]).

For example, here the boot message and its response are
during channel initialization

C:
C:
C: resource='/StockQuote' />]]>
C: C:
S:
S: ]]>
S:
The channel bound to the BEEP profile for SOAP is now in the "ready
state

Alternatively, here is an example in which the boot exchange
unsuccessful

C:
C:
C: resource='/StockPick' />]]>
C: C:
S:
S: resource
S: supported]]>
S:
Although the channel was created successfully, it remains in
"boot" state
















O'Tuathail & Rose Standards Track [Page 6]

RFC 3288 Using SOAP in BEEP June 2002


3. SOAP Message

The BEEP profile for SOAP transmits envelopes encoded as UTF-8
the media type "application/xml"[4], e.g.,

MSG 1 1 . 0 364
Content-Type: application/

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

DIS
Envelope


































O'Tuathail & Rose Standards Track [Page 7]

RFC 3288 Using SOAP in BEEP June 2002


In addition, the BEEP profile for SOAP also allows envelopes to
transmitted as the root part of a "multipart/related"[5] content,
with subordinate parts referenced using the rules of Section 3 of [6]
(i.e., using either the "Content-ID:"[7] or "Content-Location:"[8]
headers), e.g.,

MSG 1 2 . 364 668
Content-Type: multipart/related; boundary="MIME_boundary";
type=application/xml
start=""

--MIME_
Content-Type: application/
Content-ID:

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
..

..
Envelope

--MIME_
Content-Type: image/
Content-Transfer-Encoding:
Content-ID:
...binary TIFF image...
--MIME_boundary--


Consistent with Section 2 of [6], it is strongly recommended that
multipart contain a "start" parameter, and that the root part
a "Content-ID:" header. However, because BEEP provides an 8bit-
path, a "transformative" Content-Transfer-Encoding (e.g., "base64"
"quoted-printable") should not be used. Further note that MIME[9]
requires that the value of the "Content-ID" header be
unique










O'Tuathail & Rose Standards Track [Page 8]

RFC 3288 Using SOAP in BEEP June 2002


4. SOAP Message

4.1 One-way

A one-way message involves sending a message without any
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,
the server immediately sends back a "NUL" message, before
the contents of the envelope

4.2 Request-Response

A request/response exchange involves sending a request, which
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,
the server sends back a "RPY" message containing an envelope

Finally, the BEEP profile for SOAP does not use the "ERR" message
SOAP faults when performing one-to-one exchanges -- whatever
is generated by the server is always returned in the "RPY" message

4.3 Request/N-Responses

A request/N-responses exchange involves sending a request,
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,
the server sends back zero or more "ANS" messages, each containing
envelope, followed by a "NUL" message

















O'Tuathail & Rose Standards Track [Page 9]

RFC 3288 Using SOAP in BEEP June 2002


5. URL

This memo defines two URL schemes, "soap.beep" and "soap.beeps",
which identify the use of SOAP over BEEP over TCP. Note that,
present, a "generic" URL scheme for SOAP is not defined

5.1 The soap.beep URL

The "soap.beep" URL scheme uses the "generic URI" syntax defined
Section 3 of [10], specifically

o the value "soap.beep" is used for the scheme component; and

o the server-based naming authority defined in Section 3.2.2 of [10]
is used for the authority component

o the path component maps to the "resource" component of the
message sent during profile initialization (if absent, it
to "/").

The values of both the scheme and authority components are case
insensitive

For example, the

soap.beep://stockquoteserver.example.com/

might result in the example shown in Section 2.1.

5.1.1 Resolving IP/TCP Address

The "soap.beep" URL scheme indicates the use of the BEEP profile
SOAP running over TCP/IP

If the authority component contains a domain name and a port number
e.g.,

soap.beep://stockquoteserver.example.com:1026

then the DNS is queried for the A RRs corresponding to the
name, and the port number is used directly










O'Tuathail & Rose Standards Track [Page 10]

RFC 3288 Using SOAP in BEEP June 2002


If the authority component contains a domain name and no port number
e.g.,

soap.beep://stockquoteserver.example.

the SRV algorithm[11] is used with a service parameter of "soap-beep
and a protocol parameter of "tcp" to determine the IP/TCP
information. If no appropriate SRV RRs are found (e.g., for "_soap
beep._tcp.stockquoteserver.example.com"), then the DNS is queried
the A RRs corresponding to the domain name and the port number
is assigned by the IANA for the registration in Section 7.4.

If the authority component contains an IP address, e.g.,

soap.beep://10.0.0.2:1026

then the DNS is not queried, and the IP address is used directly.
a port number is present, it is used directly; otherwise, the
number used is assigned by the IANA for the registration in
7.4.

While the use of literal IPv6 addresses in URLs is discouraged, if
literal IPv6 address is used in a "soap.beep" URL, it must conform
the syntax specified in [12].

5.2 The soap.beeps URL

The "soap.beeps" URL scheme is identical, in all ways, to
"soap.beep" URL scheme specified in Section 5.1, with the
that prior to starting the BEEP profile for SOAP, the BEEP
must be tuned for privacy. In particular, note that both URL
use the identical algorithms and parameters for address resolution
specified in Section 5.1.1 (e.g., the same service name for
lookups, the same port number for TCP, and so on).

There are two ways to perform privacy tuning on a BEEP session
either

o a transport security profile may be successfully started; or

o a user authentication profile that supports transport security
be successfully started

Regardless, upon completion of the negotiation process, a
reset occurs in which both BEEP peers issue a new greeting.
Section 3 of [2] for an example of how a BEEP peer may choose
issue different greetings based on whether privacy is in use




O'Tuathail & Rose Standards Track [Page 11]

RFC 3288 Using SOAP in BEEP June 2002


6. Registration

6.1 SOAP Profile Feature Registration

When a feature for the BEEP profile for SOAP is registered,
following information is supplied

Feature Identification: specify a string that identifies
feature. Unless the feature is registered with the IANA,
feature's identification must start with "x-".

Feature Semantics: specify the semantics of the feature

Contact Information: specify the electronic contact information
the author of the feature




































O'Tuathail & Rose Standards Track [Page 12]

RFC 3288 Using SOAP in BEEP June 2002


7. Initial

7.1 Registration: The SOAP

Profile Identification: http://iana.org/beep/

Messages exchanged during Channel Creation: bootmsg,

Messages starting one-to-one exchanges: bootmsg, SOAP-Env:

Messages in positive replies: bootrpy, SOAP-Env:

Messages in negative replies:

Messages in one-to-many exchanges: SOAP-Env:

Message Syntax: SOAP-Env:Envelope as defined in Section 4 of [1]
[6]

Message Semantics: c.f., [1]

Contact Information: Eamon O'Tuathail ,
Marshall Rose



























O'Tuathail & Rose Standards Track [Page 13]

RFC 3288 Using SOAP in BEEP June 2002


7.2 Registration: The soap.beep URL

URL scheme name: soap.

URL scheme syntax: c.f., Section 5.1

Character encoding considerations: c.f., the "generic URI"
defined in Section 3 of [10]

Intended usage: identifies a SOAP resource made available using
BEEP profile for

Applications using this scheme: c.f., "Intended usage",

Interoperability considerations: n/

Security Considerations: c.f., Section 8

Relevant Publications: c.f., [1], [6], and [2]

Contact Information: Eamon O'Tuathail ,
Marshall Rose
Author/Change controller: the



























O'Tuathail & Rose Standards Track [Page 14]

RFC 3288 Using SOAP in BEEP June 2002


7.3 Registration: The soap.beeps URL

URL scheme name: soap.

URL scheme syntax: c.f., Section 5.2

Character encoding considerations: c.f., the "generic URI"
defined in Section 3 of [10]

Intended usage: identifies a SOAP resource made available using
BEEP profile for SOAP after the BEEP session has been tuned


Applications using this scheme: c.f., "Intended usage",

Interoperability considerations: n/

Security Considerations: c.f., Section 8

Relevant Publications: c.f., [1], [6], and [2]

Contact Information: Eamon O'Tuathail ,
Marshall Rose
Author/Change controller: the


7.4 Registration: The System (Well-Known) TCP port number for SOAP


Protocol Number:

Message Formats, Types, Opcodes, and Sequences: c.f., Section 2.1

Functions: c.f., [1]

Use of Broadcast/Multicast:

Proposed Name: SOAP over

Short name: soap-

Contact Information: Eamon O'Tuathail ,
Marshall Rose






O'Tuathail & Rose Standards Track [Page 15]

RFC 3288 Using SOAP in BEEP June 2002


8. Security

Although service provisioning is a policy matter, at a minimum,
implementations must provide the following tuning profiles

for authentication: http://iana.org/beep/SASL/DIGEST-MD

for confidentiality: http://iana.org/beep/TLS (using
TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher

for both: http://iana.org/beep/TLS (using
TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher supporting client-
certificates

Further, implementations may choose to offer MIME-based
services providing message integrity and confidentiality, such
OpenPGP[13] or S/MIME[14].

Regardless, consult [2]'s Section 9 for a discussion of BEEP-
security issues































O'Tuathail & Rose Standards Track [Page 16]

RFC 3288 Using SOAP in BEEP June 2002




[1] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn
N., Nielsen, H., Thatte, S. and D. Winer, "Simple Object
Protocol (SOAP) 1.1", May 2000, NOTE-SOAP-20000508>.

[2] Rose, M., "The Blocks Extensible Exchange Protocol Core",
3080, March 2001.

[3] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L.,
Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999.

[4] Murata, M., St.Laurent, S. and D. Kohn, "XML Media Types",
3023, January 2001.

[5] Levinson, E., "The MIME Multipart/Related Content-type",
2387, August 1998.

[6] Barton, J., Thatte, S. and H. Nielsen, "SOAP Messages
Attachments", December 2000, SOAP-attachments-20001211>.

[7] Levinson, E., "Content-ID and Message-ID Uniform
Locators", RFC 2392, August 1998.

[8] Palme, F., Hopmann, A., Shelness, N. and E. Stefferud, "
Encapsulation of Aggregate Documents, such as HTML (MHTML)",
RFC 2557, March 1999.

[9] Freed, N. and N. Borenstein, "Multipurpose Internet
Extensions (MIME) Part One: Format of Internet Message Bodies",
RFC 2045, November 1996.

[10] Berners-Lee, T., Fielding, R. and L. Masinter, "
Resource Identifiers (URI): Generic Syntax", RFC 2396,
1998.

[11] Gulbrandsen, A., Vixie, P. and L. Esibov, "A DNS RR
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.

[12] Haskin, D. and E. Allen, "IP Version 6 over PPP", RFC 2472,
December 1998.

[13] Elkins, M., Del Torto, D., Levien, R. and T. Roessler, "
Security with OpenPGP", RFC 3156, August 2001.



O'Tuathail & Rose Standards Track [Page 17]

RFC 3288 Using SOAP in BEEP June 2002


[14] Ramsdell, B., "S/MIME Version 3 Message Specification",
2633, June 1999.

IANA

The IANA has registered the profile specified in Section 7.1 as

http://iana.org/beep/

The IANA has registered "soap.beep" and "soap.beeps" as URL schemes
as specified in Section 7.2 and Section 7.3, respectively

The IANA has also registered "SOAP over BEEP" as a TCP port number
as specified in Section 7.4.

Finally, the IANA maintains a list of SOAP profile features, c.f.,
Section 6.1. The IESG is responsible for assigning a
expert to review the specification prior to the IANA making
assignment. Prior to contacting the IESG, developers of SOAP
features must use the mailing list beepwg@lists.beepcore.org
solicit commentary



The authors gratefully acknowledge the contributions of:
Ferris, Huston Franklin, Alexey Melnikov, Bill Mills, and Roy T
Fielding
























O'Tuathail & Rose Standards Track [Page 18]

RFC 3288 Using SOAP in BEEP June 2002


Authors'

Eamon O'
Clipcode.
24 Thomastown
Dun



Phone: +353 1 2350 424
EMail: eamon.otuathail@clipcode.
URI: http://www.clipcode.com


Marshall T.
Dover Beach Consulting, Inc
POB 255268
Sacramento, CA 95865-5268


Phone: +1 916 483 8878
EMail: mrose@dbc.mtview.ca.





























O'Tuathail & Rose Standards Track [Page 19]

RFC 3288 Using SOAP in BEEP June 2002


Full Copyright

Copyright (C) The Internet Society (2002). All Rights Reserved

This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English

The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns

This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE



Funding for the RFC Editor function is currently provided by
Internet Society



















O'Tuathail & Rose Standards Track [Page 20]








if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum