Introducing the SOAP Specification

SOAP is one of the underlying technologies behind Web Services. I’ll talk more about Web Services in Chapter 10.

The development of SOAP began in 1998. The World Wide Web Consortium released a note on SOAP in 2000. .NET explicitly supports section 5 of the SOAP note, which is available on the Web at

What SOAP actually provides is a standard mechanism for packaging data for transmission between interoperating computer systems. While other remote procedure call (RPC) protocols exist, most of them were designed before the era of distributed, object-oriented programming. SOAP’s design goals include several features not normally found in RPC protocols:

Distributed garbage collection

Distributed garbage collection allows for objects to be removed from memory automatically when all remote references to them go out of scope.

Message batching

Also known as boxcarring or pipelining, message batching allows several messages to be grouped together for sequential transactional processing.


In the programming concept of pass-by-reference, an instance of an object is passed to methods in such a way that changes to the instance are visible after the method exits. This concept is pretty much a requirement for distributed programming, when you’re invoking an object located at a remote machine.


To instantiate a local object, you use the C# new operator. However, to instantiate an object on a remote machine, ...

Get .NET & XML now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.