Home > Store

Advanced SOAP for Web Development

Register your product to gain access to bonus material or receive a coupon.

Advanced SOAP for Web Development

  • Published Mar 8, 2002 by Pearson.

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2002
  • Dimensions: F
  • Pages: 512
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-035655-7
  • ISBN-13: 978-0-13-035655-0

The concise, quick-results guide to SOAP for every Web developer.

  • Learn to program Web services using SOAP
  • Configure Web services, SOAP servers, and clients—step by step!
  • Use SOAP with WSDL and UDDI
  • Learn how Biz servers communicate—and the business-oriented language they use
  • Discover expert SOAP troubleshooting techniques
  • Work on hands-on projects with real solutions
  • The cross-platform guide to SOAP implementation

Simple Object Access Protocol (SOAP) is the killer application of XML. It's what makes XML really useful and fulfills the promise and hype of XML. SOAP gives you the "universal glue" to integrate virtually any distributed system and streamline virtually any Internet-based process or communication.

Now you can master this remarkable technology fast—with Advanced SOAP for Web Development! Dan Livingston teaches SOAP the way you want to learn it: hands-on, with real-world projects focused on the features you'll use most. Concise, practical, and full of code examples, Advanced SOAP for Web Development covers all this and more:

  • Understanding how SOAP works, what it does, and how it compares with competing technologies
  • Setting up SOAP servers and clients
  • Using SOAP with WSDL and UDDI to describe and locate Web services
  • Working with SOAP data types, encoding, and XML schema
  • Using XML-RPC—SOAP's "smaller, faster brother"
  • Troubleshooting SOAP problems using its errors and faultcodes
  • Previewing SOAP's future

SOAP isn't just another tool: It's the most powerful, flexible solution for integrating tomorrow's business-critical applications. You need to master it now—and with this book, you will.

Downloads

Downloads

To enhance your reading of Advanced SOAP for Web Development, we are making available for download the source code examples (zip archive).

Sample Content

Online Sample Chapter

Bringing SOAP, Web Services, and .NET together

Table of Contents



Preface.


1. Why SOAP? Web Services and .NET.

A Peek at SOAP. Web Services and Internet 3.0. A Brief History of the Internet. So What's a Web Service? Why SOAP Is Needed. .NET: How Evil Is It? Background: Compilers and Runtimes. Intermediate Language. Common Language Runtime. Common Type System (CTS). Common Language Specification. .NET and SOAP. Recap.



2. Basic SOAP.

What Is SOAP? Overview. Goals of SOAP. A Short History of SOAP. What SOAP Can and Can't Do. What SOAP Can Do. What SOAP Can't Do. Advantages and Disadvantages. Advantages. Disadvantages. Serializing and SOAP. Basic SOAP Structure. SOAP Envelope. SOAP Header. SOAP Body. Recap.



3. SOAP Data Types: Encoding and XML Schema.

Overview. Simple and Compound Types. Multireference Values. Encoding and XML Schema. Simple Types. Enumerations. Byte Arrays. Polymorphism. Custom Simple Types. Simple Type Recap. Compound Types. Structures. Arrays. Recap.



4. HTTP and SOAP.

Purpose of HTTP. History. Internet Communication. IP. TCP. HTTP. Connections. Basic HTTP Operations. Cookies and Statelessness. HTTP Message Structure. Requests. Responses. HTTP and Security. Basic Authentication. Original Digest Authentication. Improved Digest Authentication. Secure Sockets Layer (SSL). Public Key Cryptography. SSL Operation. Open Source. Advantages and Disadvantages of HTTP. SOAPAction. Recap.



5. SOAP Security Extensions.

Security for SOAP. Introduction to XML Signature. Core Generation and Validation. Core Generation. Core Validation. Detailed Syntax. Signature Element. SignatureValue Element. SignedInfo Element. CanonicalizationMethod Element. SignatureMethod Element. Reference Element. Transforms and Transforms Elements. DigestMethod Element. DigestValue Element. KeyInfo Element. KeyName Element. KeyValue Element. DSAKeyValue Element. RSAKeyValue Element. RetrievalMethod Element. X509Data Element. PGPData Element. SPKIData Element. MgmtData Element. Object Element. Manifest Element. SignatureProperties Element. XML Signature in SOAP Messages. Recap.



6. WSDL: Describing Web Services.

What Is WSDL? Status. What Does WSDL Do? Concepts and Terminology. Structure of a WSDL Document. Resulting SOAP Messages. Root WSDL Element. Data Types. Messages. Part Names. Bad. Fine. Operations. Operation Syntax. Kinds of Operations. Parameter Order. Port Types. Quick Review. Binding. Services. Placing the Port. The Whole Code. SOAP Extensions. soap:binding. soap:operation. soap:body. soap:fault. soap:header and soap:headerfault. soap:address. HTTP Extensions. MIME Extensions. Multiple Files. Recap.



7. UDDI.

The Case for UDDI. Assumptions. What Businesses Need. UDDI Goals of Meeting Business Needs. What a Solid Infrastructure Would Do. Use Case. High-Level View. White, Yellow, and Green Pages. UDDI Business Registry. UDDI Business Registry Security. Data Replication. Data Management, Integrity, and Confidentiality. Administration and Privacy. Availability. Auditing. Contested (Bogus) Information. UDDI Data Types. BusinessEntity. businessService. bindingTemplate. tModel. PublisherAssertion. Inquiry and Publishing Functions. Inquiries. Publishing Functions. Error Handling. Recap.



8. SOAP Message Attachments.

Quick MIME Review. Attaching to SOAP. HTTP Binding. Recap.



9. XML-RPC: SOAP's Little Runaway Brother.

What Is XML-RPC? Goals. What XML-RPC Doesn't Do. History. Structure. Request. Response. Faults. Data Encoding. Simple Data Types. Compound Data Types. Null Values. HTTP Headers. What's Missing? Recap.



10. Setting Up a Web Service.

Supersimple Web Service. Virtual Directory on IIS. Downloading Everything. Your First Web Service. Other Languages. WSDL. Web Service Client. Recap.



11. BizTalk Server and SOAP.

Purpose of BizTalk. Structure of BizTalk. BizTalk Header Elements. Endpoints. properties. services. manifest. process. BizTalk Receipts. BizTalk Attachments. BizTalk Security. Recap.



Appendix A: XML Primer.

What Is XML? What's a Markup Language? What Does Extensible Mean? Why XML Is Good. Goals of XML. Elements and Nodes. Structure and Syntax. Attributes or Text Nodes? The Special Symbols and Comments. Recap.



Appendix B: XML Schema Primer.

Introduction to Namespaces. Introduction to XML Schema. Simple Types. Number-Based Simple Types. Date- and Time-Based Simple Types. Miscellaneous Simple Types. Creating Custom Simple Types. Forcing Text to Fit a Pattern. Limiting Numerical Values. Limiting String Length. Creating a List. Combining Simple Types. Predetermined Content. Creating and Reusing Custom Simple Types. Complex Types. Elements Within Elements. Attributes. Attributes and Text. Attributes, Text, and Nested Elements. Creating Custom Complex Types. Referencing Elements and Attributes. New Complex Types Based on Existing Types. Miscellaneous. Annotation and Documentation. Including External Files.



Appendix C: SOAP Compared with Other Distributed Object Technologies.

Technology Aspects. SOAP. SOAP and Security. SOAP and Scalability. SOAP and Garbage Collection. SOAP and State Management. CORBA. CORBA and Security. CORBA and Scalability. CORBA and Garbage Collection. CORBA and State Management. DCOM (Distributed Component Object Model). DCOM and Security. DCOM and Scalability. DCOM and Garbage Collection. DCOM and State Management. Java RMI. Java RMI and Security. Java RMI and Scalability. Java RMI and Garbage Collection. Java RMI and State Management.



Appendix D: Future Directions of SOAP—XML Protocol Working Group.


Appendix E: Keeping Up-to-Date.


Appendix F: SOAP Tools.


Appendix G: UDDI API XML Schema.


Appendix H: The Original HTTP, as Defined in 1991.

Connection. Request. Response. Disconnection.



Appendix I: SOAP 1.2 Working Draft.

W3C Working Draft 9 July 2001. This version: Latest version: Editors: Abstract. Status of this Document. Table of Contents. 1. Introduction. 1.1 Design Goals. 1.2 Notational Conventions. 1.3 Examples of SOAP Messages. 1.4 SOAP Terminology. 2. The SOAP Message Exchange Model. 2.1 SOAP Nodes. 2.2 SOAP Actors and SOAP Nodes. 2.3 Targeting SOAP Header Blocks. 2.4 Understanding SOAP Headers. 2.5 Processing SOAP Messages. 3. Relation to XML. 4. SOAP Envelope. 4.2 SOAP Header. 4.3 SOAP Body. 4.4 SOAP Fault. 5. SOAP Encoding. 5.1 Rules for Encoding Types in XML. 5.2 Simple Types. 5.3 Polymorphic Accessor. 5.4 Compound types. 5.5 Default Values. 5.6 SOAP root Attribute. 6. Using SOAP in HTTP. 6.1 SOAP HTTP Request. 6.2 SOAP HTTP Response. 6.3 The HTTP Extension Framework. 6.4 SOAP HTTP Examples. 7. Using SOAP for RPC. 7.1 RPC and SOAP Body. 7.2 RPC and SOAP Header. 8. Security Considerations. 9. References. 9.1. Normative references. 9.2. Informative references. A. SOAP Envelope Examples. A.1 Sample Encoding of Call Requests. A.2 Sample Encoding of Response. B. Acknowledgements. C. Version Transition From SOAP/1.1 to SOAP Version 1.2. D. Change Log. D.1 SOAP Specification Changes. D.2 XML Schema Changes.



SOAP Glossary.


Index.

Preface

Preface

Many people have called XML the Next Big Thing, but when pressed for reasons why, it can be difficult to get a clear answer out of them. SOAP may be the answer, though: It has the potential to be the killer app of XML. SOAP is the best method yet of transferring data from any application to any other application across the Internet.

Who This Book Is For

This book is for anyone who wants to keep their job in the field of Web technology, or is curious about XML and .NET. Seriously, the best way to survive in this economic climate is to constantly update your marketable skills and know all you can.

This book is aimed at Web developers and programmers. It will help if you know some XML already, but it's not necessary (there are some primers at the back of the book). You don't have to know anything about DCOM or Java or distributed architectures or activating objects. If you know those things, then your understanding of SOAP will be a deeper one than if you're a graphic designer who dabbles in ActionScript. The designers will not be at a severe disadvantage, though—everything is explained in full.

What You Will Learn

The goal of this book is to teach you everything you need to know about SOAP and its related technologies like WSDL and UDDI, as well as SOAP's place in Microsoft's .NET strategy. Everything in this book is focused on that goal. When you're done with this tome, you'll know what SOAP is, how it works, its strengths, and its weaknesses, as well as related technologies like WSDL, UDDI, and XML-RPC, and security extensions via SSL and XML Digital Signature. Of course, we'll also discuss Web services in general and .NET in some detail.

The examples in this book are available at www.wire-man.com/soap, and you can write me at soap-dan@wire-man.com with your comments, questions, huzzahs, and flames.

What You Will Not Learn

This is a SOAP book, not a programming book. By that, I mean that this book is dedicated to focusing on SOAP. Since SOAP is a platform- and language-independent technology, I wanted to stay away from tons of code in C++ or Java, and focus just on SOAP. Since SOAP can fulfill an incredible number of programming needs, the odds of my using an example that you specifically would find useful are pretty slim. So I decided against puffing up the book with code you'd never use, and used that room to dig deeper into what SOAP really is.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020