[R6xx, R7xx] Application of XP requirements to SOAP 1.1

Following is a short analysis of how SOAP 1.1 [1] addresses the
section 4.3 and 4.6 requirements in the XML Protocol Requirements
document [2]. I won't repeat all of the text here, please reference
the relevant docs!

 cheers
   --oh

--

R700a - mechanism for carry application specific content

This requirement is partially addressed by SOAP 1.1, which provides a
SOAP:Header extension element that may be used to add arbitrary XML to
a SOAP:Envelope.

SOAP 1.1 does not include defined mechanisms to carry and reference
payloads outside the SOAP:Envelope, nor does it address carrying
non-XML formatted information.
--

R700b - mechanism to indicate mandatory extension processing

The SOAP 1.1 mustUnderstand attribute scheme satisfies this
requirement for the  SOAP:header extension mechanism only. XML
Protocol specific extension mechanisms will require a similar
attribution to satisfy this requirement.

--

R700c - predictable failure model for extensions

Partially addressed by the simple semantics of SOAP:fault categories

--

R701a - single schema-defined container for messages

The SOAP 1.1 Enveloping scheme satisfies this requirement if taken in
isolation. Given the context of other XML Protocol requirements and
the context of binary content discussions, the SOAP 1.1 scheme may
only partially satisfy this requirement.

--

R701b - processing model

Is only slightly addressed by the concept and categorisation of faults
and so is not satisfied by the SOAP 1.1 specification.

--

R702 - mechanisms for identifying revisions and compatibility

SOAP 1.1 provides simple envelope versioning through the use of XML
namespaces and provides a specific faultcode for a failure in this
area. As such it may be said to satisfy this requirement, but in a
very unsophisticated manner.

--

R703a - transport neutral XML protocol fault entity

SOAP 1.1 provides a fault entity, but also has an implicit dependence
on HTTP for delivery, so it partially satisfies this
requirement. Again, it is in a fairly unsophisticated manner as the
faultcode semantics are limited.

--

R703b - transfer of status information

Not satisfied in SOAP 1.1

--

R600 - transport protocol neutrality

SOAP 1.1 has an implicit dependency on a synchronous request/response
transport protocol to achieve correlation. It has a further implicit
dependency on SOAP processor endpoint information being transport
protocol endpoint information.

--

R604 - non-lossy transport protocol bindings

Not relevant to SOAP 1.1, so not addressed.

--

R608 - security specific bindings

Not specifically addressed by SOAP 1.1, although limited extension
facilities may be used to help achieve this goal.

--

R609 - possible mandatory character encoding
Not specifically addressed.

--

R612
A binding to a synchronous request/response protocol is implicit in
the SOAP 1.1 specification, so a normative binding to HTTP is not addressed.

--
[1] http://www.w3.org/TR/SOAP/
[2] http://www.w3.org/TR/xp-reqs/

Received on Thursday, 25 January 2001 07:01:46 UTC