The concise, quick-results guide to SOAP for every Web developer.
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 fastwith 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:
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 nowand with this book, you will.
To enhance your reading of Advanced SOAP for Web Development, we are making available for download the source code examples (zip archive).
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.
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.
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.
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.
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.
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.
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.
Quick MIME Review. Attaching to SOAP. HTTP Binding. Recap.
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.
Supersimple Web Service. Virtual Directory on IIS. Downloading Everything. Your First Web Service. Other Languages. WSDL. Web Service Client. Recap.
Purpose of BizTalk. Structure of BizTalk. BizTalk Header Elements. Endpoints. properties. services. manifest. process. BizTalk Receipts. BizTalk Attachments. BizTalk Security. Recap.
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.
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.
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.
Connection. Request. Response. Disconnection.
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.
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, thougheverything 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
email@example.com with your comments, questions, huzzahs, and flames.
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.