Gift Guide

Understanding Soap: Simple Object Access Protocol


Understanding SOAP begins with a discussion of distributed object computing, reviewing the current technologies. It then discusses the realities that make distributed object computing so difficult. Given these realities, the book provides a case study of a current technology to show why it is so difficult to distribute objects and why a protocol, such as SOAP, is such an important topic. An in-depth example gives you a working scenario of what is involved with distributed object computing and SOAP. Finally, the ...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (17) from $1.99   
  • New (3) from $31.99   
  • Used (14) from $1.99   
Sort by
Page 1 of 1
Showing 1 – 2 of 3
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing 1 – 2 of 3
Sort by
Sending request ...


Understanding SOAP begins with a discussion of distributed object computing, reviewing the current technologies. It then discusses the realities that make distributed object computing so difficult. Given these realities, the book provides a case study of a current technology to show why it is so difficult to distribute objects and why a protocol, such as SOAP, is such an important topic. An in-depth example gives you a working scenario of what is involved with distributed object computing and SOAP. Finally, the book discusses the future of SOAP, to include language binding and system integration. This book provides you with an accelerated approach to understanding how XML applies to distributed systems, specifically using the SOAP protocol.
Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
SOAP looks like it's gonna clean up. If you're a developer who wants to make the most of it, Understanding SOAP is the jumpstart you've been looking for.

One thing that's especially welcome about this book: perspective. The authors begin by comparing SOAP to existing distributed object technologies such as CORBA, DCOM, and Java RMI, explaining how it stacks up in terms of scalability, performance, activation, state management, garbage collection, and other key criteria. You'll learn how developers have traditionally used XML to transport data between systems and how SOAP adds value through an interoperable, flexible, well-designed architecture.

The authors cover protocol transports, XML payloads, data types, remote methods, and more. They're reasonably platform-agnostic, but Understanding SOAP does contain a full chapter on the relationship of SOAP to Microsoft's BizTalk, as well as a real-world SOAP implementation (running nearly 200 pages) that intercepts Windows COM object calls and formulates SOAP resquest-response scenarios.

SOAP is thoroughly entwined with XML schemas, namespaces, and other not-quite-nailed-down XML standards. The book is candid about "why things are the way you find them today as well as how things might change in the foreseeable future" -- including potentially crucial issues, such as security and object discovery. (Bill Camarda)

Bill Camarda is a consultant and writer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

The simple object access protocol (SOAP) provides a mechanism for distributing objects over the Internet. This book explains the basics of SOAP and what the various aspects of the specification mean with respect to distributed object computing. Topics include the XML payload, data types, invoking remote methods, and the COM language binding. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780672319228
  • Publisher: Sams
  • Publication date: 7/10/2000
  • Series: Sams Professional Series
  • Pages: 450
  • Product dimensions: 7.40 (w) x 9.12 (h) x 1.23 (d)

Meet the Author

Kennard Scribner started out managing a pizzeria, but when he found out he could make less money and work harder in the Air Force, he immediately signed up and was whisked away to foreign lands, starting with Omaha, Nebraska. (Don't let him fool you; he loved it there.) After earning a commission and several assignments later, Kenn left the Air Force to pursue his hobby of Windows programming as a full-time measure. Now Kenn finds himself teaching COM and implementing COM technology as he journeys around the town helping others get their projects off the ground. Along the way, he started The EnduraSoft Corporation to write and market ActiveX controls, although these days he's spending more time writing words than code! Kenn is the author and coauthor of several books, including Sams Teach Yourself ATL Programming in 21 Days and MFC Unleashed. You can reach Kenn at

Mark C. Stiver is a consulting software engineer with one of the world's largest supplier of information services for the legal and business industry. He has more than 11 years of experience working on a wide variety of commercial, industrial, and military software development projects. Recently he completed a two-year effort, developing an n-tier, distributed product using XML as the base protocol to integrate Windows desktop, Windows NT Server, and UNIX applications. Currently, he is involved in the design and development of XML-based interfaces for integrating with large-scale systems.

Read More Show Less

Read an Excerpt

Chapter 1: Essential SOAP: A Comparison of SOAP to Existing Distributed Object Technologies

SOAP: (n): Hydrolysis or saponification of the sodium salt of a long chain of fatty acids.

Not anymore. There is a new SOAP on the block. The Introduction gave you an idea of what SOAP really is and why it's necessary. This chapter furthers that introductory discussion by more fully explaining SOAP's purpose, and then by comparing SOAP (as a wire protocol) to the commonly-used distributed object technologies and their wire protocols in use today.

It's important to remember that SOAP is itself a wire protocol rather than an entire distributed object architecture. On the other hand, entire distributed object architectures are designed around their wire protocols for efficiency. Some distributed object technologies concern themselves with security, for example, and carry security information within their data packets. They have mechanisms to efficiently encode the security information to speed the data's consumption on the receiving end.

Also, unlike contemporary distributed object architectures, SOAP makes use of openly available technologies that, when combined, specify a wire protocol. This protocol can be used to facilitate highly and ultra-distributed architectures. As you've seen from the introduction, SOAP commonly uses the HTTP protocol to transport XML-encoded serialized method argument data from system to system. This serialized argument data is used on the remote end to execute the client's method call on that system, rather than the client's local system.

This chapter begins by exploring the SOAP wire protocol and why such aprotocol makes sense. Then the chapter introduces the wire protocols of other contemporary distributed systems to see how they are incorporated into the overall distributed architecture. This should provide you with a good feel for where SOAP fits in relation to other systems as well as help you better understand the SOAP specification itself.

The Argument for SOAP

After reading the introduction, you might wonder why the SOAP protocol is generating so much interest. After all, it is just another Microsoft XML-based initiative, isn't it?

In truth, SOAP does have roots in Microsoft, as one of the main specification authors works for Microsoft. That said, though, SOAP is a compelling technology in its own right and was honestly developed to be vendor independent. You can see this simply by examining the two fundamental SOAP technologies-HTTP and XML. These two technologies are international standards, and although Microsoft has played a significant role in the development of several of the key XML technologies, XML is nonetheless not under Microsoft's control.

A better way to view SOAP is based upon its technical merit. SOAP is fundamentally the combination of textual information shared via the Internet. The textual information is encoded in an XML format, which has specific rules for encoding and processing. The actual transmission of the XML data is managed by the transport protocol, which is (today) commonly HTTP served by a Web server. The combination of the open XML encoding style and the pervasive HTTP protocol makes SOAP possibly the most interoperable wire protocol yet invented.

If you are using HTTP as your SOAP transport protocol, then SOAP processing is very much aligned with the Internet, which specifies a stateless programming model. That is, object clients request services from a remote entity, which in turn responds with the pertinent information. After the remote entity responds, all state information regarding that invocation is destroyed unless measures are taken to persistently store the state information for later use. Regarding SOAP, rudimentary SOAP servers also follow this basic stateless, request/response scenario. SOAP itself doesn't preclude you from implementing more exotic servers that are capable of state management and decoupled request/response pairs (as with asynchronous callbacks). This makes it easy for scripts as well as more complex applications to implement SOAP.

Heavyweight Versus Lightweight Protocols

You will find a description of several contemporary distributed object technologies in this chapter. Although the purpose of the descriptions is to afford a comparison of SOAP to other wire protocols (and complete architectures, which SOAP does not provide), keep these questions in mind as you read the descriptions:

How complex is the wire protocol for the given system, and is it an open standard?
How complex is the given system?
If you design a distributed application using the given system, what are the development costs associated with the system? For example, is it easier to hire developers who know XML/HTTP or an architecture-specific protocol like HOP or RMI?
If you design a distributed application using the given system, what are the administrative costs associated with the system when you ship your application to an arbitrary user?
Does the selection of a given system bind you to specific vendor, and, if so, can you easily migrate your application to another vendor?

One argument in favor of the SOAP protocol is that it is a tremendously lightweight protocol. That is, the protocol itself requires two fundamental capabilities:

The capability to send and receive HTTP (or other) packets
The capability to process XML

At this time, HTTP is a pervasive technology. One can hardly imagine a business that doesn't handle HTTP data, at least if it interacts with the Internet in any meaningful fashion. At the very least, HTTP processing is well understood and widely implemented...

Read More Show Less

Table of Contents

1. Essential SOAP: A Comparison of SOAP to Existing Distributed Object Technologies.
The Argument for SOAP.
Heavyweight Versus Lightweight Protocols. Advantages and Disadvantages of SOAP. SOAP Myths and Legends.
Comparing Distributed Object Technologies.
Design Considerations. CORBA. DCOM and DCE RPC. Java RMI. SOAP.

2. SOAP and XML: The Foundation of SOAP.
XML's Appeal.
Proprietary Formats. Spatial and Referential Schemes. Structured Data Scheme.
Essential XML.
Documents, Elements, and Attributes. Entity References and Character Data (CDATA). Parsers: The DOM and SAX. Choosing a Parser.
URIs and XML Namespaces.
URLs and URNs. XML Namespaces.
XML Schema.
Understanding XML Schemas. An XML Schema Example. SOAP and Schemas.
Style Sheets and Transformations.
The XSLT Vocabulary and Templates.
XLink, XPointer, and XPath.
XLink. XPointer. XPath.

3. Distributed Objects and XML: The Road to SOAP.
Using XML in Distributed Systems.
An Ad Hoc XML Approach. A Generic Approach. Complex Serialization. Realizing SOAP.
The Need for Standardization.
The SOAP Specification v1.1.
Frequently Used Terminology. An Overview of the SOAP v1.1 Specification.

4. SOAP and Data: Protocol Transports.
Request and Response Model. HTTP Methods, Headers,and Bodies. Monitoring SOAP Traffic. Bi-Directional HTTP.
SOAP and Other Protocols.
FTP. SMTP and Message Queues.
Layering Protocols for SOAP. Summary.

5. SOAP and Data: The XML Payload.
Serializing Information.
Directed Data Flow. Serialization and SOAP.
A Closer Look at the SOAP Envelope.
The SOAP-ENV:encodingStyle Attribute. Envelope Namespace Declarations. Additional Envelope Attributes. Envelope Versioning. Envelope Sub-Elements.
A Closer Look at the SOAP Header.
Header Element Location. Header Sub-Elements. The Header Element and Its SOAP-ENV:mustUnderstand Attribute. The Header Element and its SOAP-ENV:root Attribute.
A Closer Look at the SOAP Body.
The Call Body Element. The Response Body Element. The Fault Body Element.
Encoding Method Parameters. Summary.

6. SOAP and Data: Data Types.
Encoding Data Types in XML.
Encoding Data Types in SOAP. NDR Pointer Types.
Basic SOAP Data Types.
Simple Data Types. Byte Arrays. Strings: The Multi-Reference Simple Type. Enumerations.
Compound SOAP Data Types.
Structures. Generic Compound Types. Arrays.
Default Values. Polymorphic Accessors. Summary.

7. SOAP and Communications: Invoking Remote Methods.
Remote Procedure Call (RPC).
Remote Endpoints. Wire Representation of Data. Interface Design for Networks. Passing References. Passing Data Structures and Graphs. Exception Handling.
Object Remote Procedure Call (ORPC).
Object References. State Management and Garbage Collection.
The SOAP Object Reference. Wire Representation. SOAP Interface Design. Passing References and Interfaces. State Management and Garbage Collection.
Implementing State Management.
Cookies. The SOAP Header.
Understanding Object Activation. Summary.

8. SOAP: BizTalk and the SOAP Toolkit. The BizTalk Server.
The BizTalk Server Architecture. The BizTalk Server Tools.
The BizTalk Framework.
The BizTalk Framework: XML Tag Specifications. The BizTalk Framework: Document Design Guide. Comparing the BizTalk Framework to SOAP.
The SOAP Toolkit for Visual Studio 6.
Service Description Language (SDL). Remote Object Proxy Engine (ROPE). Listeners. SOAP Toolkit Benefits and Limitations.

9. The Future of SOAP.
Protocol Acceptance.
Building SOAP's Future Acceptance with an Open Standardization. Architecting SOAP's Future Through Additional Research and. Development. Extensions and Derivations. Sufficient Development Tools and Documentation. Product Development.
Current Issues SOAP Does Not Address.
Security. Object Activation and Garbage Collection.
Objects and Object Discovery. Direct Interface to SOAP Translation.
Automated Schema Generation. Automated Serializer Generation.

10. Implementing SOAP: The COM Language Binding.
Existing Language Bindings.
DevelopMentor's Perl SOAP Language Binding. DevelopMentor's Java SOAP Language Binding. Microsoft's Visual Basic SOAP Language Binding.
The COM Language Binding.
The COM Language Binding Architecture. The Essentials of Interception and Delegation. Determining Method Parameter Type.
Reusable SOAP C++ Objects.
The SOAP Base Class: CSOAPElement. Primary Derived SOAP Classes. Secondary Derived SOAP Classes. C++ HTTP Packet Support. Using the SOAP Object Model.
Reusable SOAP COM Objects.
The SOAP Catalog. The Type Library Encoder.
The SOAP Configuration Utility. SOAP from the Client-The SOAP Object Surrogate.
The Mechanics of Interception. The Mechanics of Delegation. Creating SOAP-Enabled Objects. Using the SOAP Object Surrogate. Interpreting the COM Method Call Stack. Transmitting the Serialized Method Information. Interpreting (and Using) the Results Obtained from the Remote Object. Possible Improvements.
SOAP from the Server-The Object Activator.
SOAPExtension-an ISAPI Extension DLL. The DeSerializer. The Activator. Configuring the Activation Framework. Possible Improvements.

A. The SOAP 1.1 Specification.
B. Resources.
C. A Look into Late-Breaking Technoligies That Support SOAP.
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted July 18, 2000

    What this book is about and to whom it was written...

    It would be very easy to hype this book...there is enough hype about SOAP running through the press today. But that's not what I want you to take away from this Web page. Rather, you should know that the goal of this book was to introduce you to SOAP, explain the specification to a great degree, introduce you to a sampling of the peripheral issues (such as security, or the lack of support for security in SOAP and why that is so), and provide you with a representative SOAP implementation. It doesn't, and can't, cover each and every aspect of all issues. (Remember too that this technology is changing, and may have changed since the book was inked...) We did, however, try to write to the experienced developer who is new to SOAP and wants to understand why SOAP exists, what problem it tries to solve, what SOAP is composed of, what some of the issues are that are related to SOAP, and how someone might implement a SOAP server from scratch. If that's you, this book should be of use...give it a read and let me know what you think! (I had to rate the book to show you my comment, so I gave it 5 stars...why not? <g>)

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)