This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Introduction to SOAP
The Simple Object Access Protocol (SOAP) is the basis for the W3C design for web
services. The specifications that make up SOAP cover the expression of data, what to
require for communication, and how to link messages with communication layers.
When using toolkits (introduced in Chapter 6), it is often not necessary to know
more than just the basic elements of SOAP. But the more thorough your understand-
ing, the easier you can develop better, more efficient applications.
This chapter introduces the basic parts of SOAP, and illustrates how they work
together to create a platform for distributed application development. The focus of
this chapter is the XML that implements SOAP requests and responses and how the
SOAP specification is built from other XML technologies, such as XML Schema. Later
chapters build SOAP-enabled applications with toolkits, but to make full use of the
toolkits, you must know the constraints of the SOAP protocol that they implement.
Where CORBA and COM+ followed RPC, SOAP and XML-RPC are more like its
contemporaries. While SOAP was going through a very thorough process of require-
ments gathering and design analysis, XML-RPC was spun off from an early draft of
The time spent in design and planning was far from squandered. The resulting speci-
fication from the working group is very flexible and leaves a considerable amount of
room for expansion of the protocol. Expansion and extension of the protocol may
come from added XML applications bundled into the encoding layer, in either (or
both) of the message header and body. Beyond this, the protocol itself is kept by ver-
sion and maintained as a W3C Technical Recommendation, the term used by the
W3C for standards that have been adopted.
At the time of this writing, the Technical Recommendation (TR) of the specification
is at Version 1.1, with Version 1.2 currently very close to acceptance as the new cur-