This is an attempt of a write-up of a framework for SOAP bindings based on discussions within the XML Protocol WG TBTF. The document has no status whatsoever nor does it necessarily represent consensus within the TBTF or within the XML Protocol WG as a whole.
SOAP has been designed to be carried within or on top of a variety of other protocols that as a group are called "underlying protocols". The boundary between SOAP and the underlying protocol is called a protocol binding. A binding has two purposes:
The relationship between SOAP, bindings, and underlying protocols is illustrated below. Note that is not a requirement that implementations are layered in this manner. The purpose of this diagram is strictly to illustrate the abstract relationship between SOAP, bindings, and the underlying protocol.
SOAP has the following two requirements to a binding in order to enable passing of data between SOAP and the underlying protocol:
The interactions between the binding and the underlying protocol can be in any format supported by the underlying protocol. SOAP has nothing to say about this interaction.
In addition to defining the format of the data passed between the binding and the underlying protocol, a binding must define the rules for how the data is exchanged using that underlying protocol.
Exchanging information may require additional information from higher layers not expressed directly within the SOAP message. It is outside the scope of this framework to describe how such information is communicated within a SOAP node.
A binding may provide any number of properties that the SOAP layer may choose to take advantage of if so desired. It is outside the scope of this specification to describe how these properties are named or how they are described.