The one-stop reference to the three standards driving the Web services revolution.
Web services are some of today's hottest Internet development technologies. UDDI, SOAP, and WSDL are the key specifications driving that revolution. For the first time ever, an authoritative one-stop technical specification reference exists in printed form for every developer who intends to use these standards. UDDI, SOAP, and WSDL: The Web Services Specification Reference Book presents the official text of all three standards from the UDDI.org and W3Cconveniently organized, formatted, and fully indexed.
A perfect companion to any other book on Web services technology, this is your definitive standards referencealways at hand, with no time-consuming Internet downloads needed.
Universal Description, Discovery and Integration (UDDI) 1.0: The platform-independent, open framework for describing services, discovering businesses, and integrating business services across the Internet
Simple Object Access Protocol (SOAP) 1.1: The XML/HTTP-based lightweight protocol for accessing services, objects, and servers, and creating rich, automated Web services based on a shared and open Web infrastructure
Web Services Description Language (WSDL) 1.1: The XML-formatted language designed to describe the capabilities of any Web Service
I. UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION (UDDI) 1.0.1. UDDI Executive White Paper.
The New Trading Environment. Challenges. Solutions. New Approach. UDDI Project. More Than Just a Specification. Summary.2. UDDI Technical White Paper.
Abstract. Introduction. Overview. UDDI business registrations and the UDDI business registry. Using UDDI. Background. UDDI—the technical discovery layer. Next steps. Business discovery and UDDI. Future work. Technical overview. Four information types. Business information: the businessEntity element. Service information: the businessService and bindingTemplate elements. Specification pointers and technical fingerprints. The programmer's API. Built on SOAP. The Inquiry API. The UDDI invocation model. Recovery after remote Web service call failure. The Publication API. Security: Identity and authorization. Other information. Appendix A: UDDI information model. Resources.3. UDDI Programmer's API 1.0.
UDDI Open Draft Specification 30 September 2000. Contents. Introduction. Document Overview. What is this UDDI anyway? Compatible registries. What are tModels? Classification and Identification information. Design & Architecture. Design Principles. Security. Versioning. SOAP Messaging. XML conventions. Error Handling. White Space. XML Encoding. API Reference. Three query patterns. The browse pattern. The drill-down pattern. The invocation pattern. Inquiry API functions. Publishing API functions. Special considerations around categorization. Appendix A: Error code reference. Error Codes. dispositionReport overview. Appendix B: SOAP usage details. Support for SOAPAction. Support for SOAP Actor. Support for SOAP encoding. Support for SOAP Fault. Support for SOAP Headers. Document encoding conventions—default namespace support. UTF-8 to Unicode: SOAP listener behavior. Appendix C: XML Usage Details. Use of multiple languages in the description elements. Valid Language Codes. Default Language Codes. ISSUE for Validation: XML namespace declaration. Support for XML Encoding. Appendix D: Security model in the publishers API. Achieving wire level privacy: All methods are secured via SSL. Authentication. Establishing credentials. Authentication tokens are not portable. Generating Authentication Tokens. Per-account space limits. Appendix E: Search Qualifiers. General form of search qualifiers. Search Qualifiers enumerated. Search Qualifier Precedence. Locale Details. Appendix F: Response message reference. Appendix G: redirection via hostingRedirector element. Special situations requiring the hostingRedirector. Using the hostingRedirector data. Stepwise overview. Appendix H: Details on the validate_categorization call. Appendix I: Utility tModels and Conventions. UDDI Type Taxonomy. UDDI Registry tModels. UDDI Core tModels—Taxonomies. UDDI Core tModels—Other. Registering tModels within the Type Taxonomy. References. Change History.4. UDDI Data Structure Reference V1.0.
UDDI Open Draft Specification 30 September 2000. Contents. Introduction. Service discovery. Four data structure types. Core structure reference. Overall principles. Unique identifiers. Containment. The businessEntity structure. Structure specification. Descriptive matrix. Substructure breakdown. DiscoveryURLs. Contacts. BusinessServices. IdentifierBag. CategoryBag. The businessService structure. Structure specification. Substructure breakdown. BindingTemplates. The bindingTemplate structure. Structure specification. Substructure breakdown. AccessPoint. HostingRedirector. TModelInstanceDetails. The tModel structure. Two main uses. Defining the technical fingerprint. Defining an abstract namespace reference. Structure specification. Substructure breakdown. Appendix A: Using Identifiers. The identifier dilemma. Identifier characteristics. Using identifiers. Structure specification. Appendix B: Using categorization. Structure Specification. Appendix C: Response message reference. Appendix D: Data Field Lengths.5. UDDI XML Schema 1.0 (1999).
II. SIMPLE OBJECT ACCESS PROTOCOL (SOAP) 1.1.7. W3C Simple Object Access Protocol (SOAP) 1.1.
W3C Note 08 May 2000. Abstract. Status. Table of Contents. Introduction. Design Goals. Notational Conventions. Examples of SOAP Messages. The SOAP Message Exchange Model. Relation to XML. SOAP Envelope. SOAP Header. SOAP Body. SOAP Fault. SOAP Encoding. Rules for Encoding Types in XML. Simple Types. Polymorphic Accessor. Compound types. Default Values. SOAP root Attribute. Using SOAP in HTTP. SOAP HTTP Request. SOAP HTTP Response. The HTTP Extension Framework. SOAP HTTP Examples. Using SOAP for RPC. RPC and SOAP Body. RPC and SOAP Header. Security Considerations. References. SOAP Envelope Examples. Sample Encoding of Call Requests. Sample Encoding of Response.8. SOAP 1.1 External Hyperlinks.
III. WEB SERVICES DESCRIPTION LANGUAGE (WSDL) 1.1.11. W3C Web Services Description Language (WSDL) 1.1.
W3C Note 15 March 2001. Abstract. Status. Table of Contents. Introduction. WSDL Document Example. Notational Conventions. Service Definition. WSDL Document Structure. Types. Messages. Port Types. Bindings. Ports. Services. SOAP Binding. SOAP Examples. How the SOAP Binding Extends WSDL. soap:binding. soap:operation. soap:body. soap:fault. soap:header and soap:headerfault. soap:address. HTTP GET & POST Binding. HTTP GET/POST Examples. How the HTTP GET/POST Binding Extends WSDL. http:address. http:binding. http:operation. http:urlEncoded. http:urlReplacement. MIME Binding. MIME Binding example. How the MIME Binding extends WSDL. mime:content. mime:multipartRelated. soap:body. mime:mimeXml. References. Notes on URIs. XML namespaces & schema locations. Relative URIs. Generating URIs. Wire format for WSDL examples. Example 1. Location of Extensibility Elements. Schemas. WSDL Schema. SOAP Binding Schema. HTTP Binding Schema. MIME Binding Schema.12. WSDL 1.1: External Hyperlinks.
Welcome to the future of Internet-based application development and deployment. This book contains the official technical specifications for a promising triumvirate of technologies that enable Web services. Herein youUll find technical specifications for Universal Description, Discovery and Integration (UDDI) 1.0, Simple Object Access Protocol (SOAP) 1.1, and Web Services Description Language (WSDL) 1.1.
The UDDI documents in this book appear courtesy of the UDDI Community (UDDI.org), with thanks in particular to Tom Glover. As UDDI.org Program Manager, Tom helped guide the UDDI portion of this book through the publication production on behalf of the UDDI Community, an effort for which I am grateful. The SOAP and WSDL specifications, meanwhile, are taken directly from corresponding World Wide Web (W3C) Notes. Thanks to Janet Daly and Joseph M. Reagle, the W3CUs SOAP and WSDL Notes appear alongside UDDI, which together comprise the three Web services technologies detailed in this book.
As this book went to print, the term "Web services" was sweeping through the Internet and Web development communities, carrying with it the promise of a new and improved way of conducting business over public and private communications networks. Generally speaking, Web services refer to loosely coupled software applications distributed across the Internet and/or World Wide Web. Unlike traditional distributed software applications, for which the distributed components are tightly bound to the application using them, Web services are entirely self-contained and self-describing. As such, a Web service is a fully encapsulated, modular unit of application logic that can be found and used by other applications without requiring an intimate knowledge of the inner working of the service.
Based on well-known open standards such as Extensible Markup Language (XML) and Hypertext Transfer Protocol (HTTP), Web services can be mixed and matched with other Web services as needed. This enables applications that use Web services to orchestrate them into a series of rich and increasingly complex transactions. A long-promised but only recently realized Holy Grail of computing, Web services usher in an era of truly componentized, reusable, and distributed software on a grand scale that weUve not seen before today.
UDDI, SOAP, and WSDL are central to the emerging Web services paradigm. They are independent, yet inter-related technologies that are typically used together. UDDI provides an open, platform-independent framework for describing services, discovering businesses, and integrating services over the Internet. In addition, UDDI is an operational registry of available services that can be thought of as a modern-day "yellow pages" directory specifically for Web services.
Access to and from the UDDI registry typically takes place with SOAP, which is a lightweight XML-based protocol used to exchange information in a decentralized, distributed environment. WSDL, meanwhile, is an XML-based service description language that complements UDDI by providing a uniform mechanism for describing services and network protocol bindings.
Taken together, the UDDI, SOAP, and WSDL specifications detailed in this book provide a solid foundation upon which many legacy applications will be rebuilt, and countless new and as-of-yet unimagined software products will be built from the ground up. I hope that you find them as invaluable in your own Web services development efforts as I imagine they will be.
The Web services specifications in this book are organized into three distinct parts, one each for UDDI, SOAP, and WSDL. Following is a brief description of each part and the chapters they contain.
Part 1 covers UDDI version 1.0. UDDI is a platform-independent, open framework for describing services, discovering businesses, and integrating business services using the Internet, as well as an operational registry.
The first two chapters in this section are informational white papers produced by the UDDI Community, the organization responsible for the design and development of official UDDI specifications. Following these white papers are four chapters dedicated to the official UDDI 1.0 specification.
As a high-level overview of UDDI, this chapter explains that UDDI is focused on sharing business information, making it easier for you to publish your preferred means of conducting business, find trading partners and have them find you, and interoperate with these trading partners over the Internet.
Note: This chapter is a white paper, not a formal part of the UDDI specification.
Building on the high-level overview presented in Chapter 1, this chapter digs deeper into UDDI and its capabilities. Starting with the concept that UDDI is a specification for distributed Web-based information registries of Web services, and also a publicly accessible set of implementations of the specification that allow businesses to register information about the Web services they offer so that other businesses can find them, this chapter explains that Web services are the next step in the evolution of the Web itself. This chapter explains how UDDI registries are used to promote and discover distributed Web services, thereby allowing programmable elements to be placed on Web sites where others can access distributed behaviors.
Note: This chapter is a white paper, not a formal part of the UDDI specification.
This chapter describes the programming interface that is exposed by all instances of the UDDI registry. The programmatic interface provided for interacting with systems that follow the UDDI specifications makes use of XML and SOAP (a specification for using XML in simple message-based exchanges). The UDDI ProgrammerUs API Specification defines approximately 30 SOAP messages that are used to perform inquiry and publishing functions against any UDDI-compliant business registry.
This document outlines the details of each XML structure associated with the approximately 30 SOAP messages described in Chapter 3 that are used to perform inquiry and publishing functions against any UDDI-compliant business registry. This chapter is co-requisite to the UDDI XML schema documents described in Chapters 5 and 6.
This chapter lists the complete UDDI XML Schema version 1.0 released in 1999. This schema complements the UDDI Data Structure Reference described in Chapter 4.
This chapter lists the complete UDDI XML Schema version 1.0 released in 2001. This schema complements the UDDI Data Structure Reference described in Chapter 4.
Part 2 covers SOAP 1.1. SOAP is a lightweight protocol for exchanging information in a decentralized, distributed environment. It is an XML-based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined data types, and a convention for representing remote procedure calls and responses.
The first chapter (Chapter 7) is the SOAP 1.1 specification; the second chapter (Chapter 8) lists all external hyperlinks that appear in the SOAP 1.1 specification; the third chapter (Chapter 9) details the current SOAP 1.1 envelope schema; and the final chapter in this section (Chapter 10) details the current SOAP 1.1 envelope schema encoding.
Note: The SOAP schemas that appear in these chapters are based on schemas originally submitted to the World Wide Web Consortium (W3C) by the same companies that submitted the SOAP 1.1 specification; see http://www.w3.org/Submission/2000/05/ for the original schemas.
This chapter details the SOAP 1.1 specification in the form of a W3C Note that documents this submission by W3C members Ariba, Inc., Commerce One, Inc., Compaq Computer Corporation, DevelopMentor, Inc., Hewlett-Packard Company, International Business Machines Corporation, IONA Technologies, Lotus Development Corporation, Microsoft Corporation, SAP AG, and UserLand Software Inc.
This chapter contains the external hyperlinks that appear in the text of the SOAP 1.1 specification in Chapter 7.
This chapter lists the SOAP 1.1 envelope schema referenced by the SOAP 1.1 specification in Chapter 7.
Note: The schema in this chapter is based on the schema submission found at
This chapter lists the SOAP 1.1 encoding schema referenced by the SOAP 1.1 specification in Chapter 7.
Note: The schema in this chapter is based on the schema submission found at
Part 3 covers WSDL 1.1. WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services).
The first chapter in this section (Chapter 11) is the WSDL 1.1 specification, while the second chapter (Chapter 12) lists all external hyperlinks that appear in the WSDL 1.1 specification.
This chapter details the WSDL 1.1 specification in the form of a W3C Note that documents this submission by W3C members International Business Machines Corporation, Microsoft Corporation, Allaire, Ariba, Inc., BEA, Bowstreet, Commerce One, Compaq Computer Corporation, DataChannel, Epicentric, Fujitsu Limited, Hewlett-Packard Company, Intel, IONA Technologies, Jamcracker, Lotus Development Corporation, Oracle, Rogue Wave, SAP, TIBCO, VeriSign, Vitria, webMethods, XML Global Technologies, and XMLSolutions.
This chapter contains the external hyperlinks that appear in the text of the WSDL 1.1 specification in Chapter 11.