Deitel® Buzz Online
free e-mail newsletter
Register Now!

Lotus Notes users,
please select Text

Java Web Services for Experienced Programmers


© 1992-2005. Deitel & Associates, Inc. All Rights Reserved.

Live in fragments no longer. Only connect.

Edward Morgan Forster

We wove a web in childhood, A web of sunny air.

Charlotte Brontë

Welcome to Web services and the world of interoperable, distributed programming with XML, SOAP, WSDL, UDDI and the Java™ platform! This book is one of the first in the new Deitel™ Developer Series, which presents leading-edge computing technologies to software developers and IT professionals.

Web-services technology has gained much attention from the information-technology press and from companies that employ Internet-based applications to conduct business. The term Web services refers to a specific class of applications that use platform and programming-language-neutral data representations and communications protocols to achieve interoperability. By using Web services, companies can ensure that their applications will communicate with those of their business partners and customers.

The primary technologies that enable Web services include the eXtensible Markup Language (XML), the Simple Object Access Protocol (SOAP), the HyperText Transfer Protocol (HTTP), the Web Services Description Language (WSDL), and Universal Description, Discovery and Integration (UDDI) registries.

The World Wide Web Consortium (W3C) developed XML in response to the Web developer community's growing need for a platform-independent language capable of describing data. Web developers wanted a simple language like the HyperText Markup Language (HTML) but with the added flexibility that would allow them to create customized language elements to describe data. XML provides this capability by defining a markup-language syntax with which developers can create element vocabularies. Developers then can use these elements to mark up individual pieces of data, forming XML documents. Since XML documents are text based and use a standard character encoding, they can be processed on any platform. The portability of XML and its rapid adoption throughout the information-technology industry made it an obvious choice for enabling cross-platform data communication in Web services.

Though the W3C now oversees the development of SOAP, a number of industry leaders, including IBM Microsoft and DevelopMentor, originally developed SOAP as a general means for building distributed computing systems. SOAP is an XML vocabulary of elements that enables programs on separate computers to interact across a network, such as the Internet or a company intranet. SOAP messages are XML documents whose contents describe a particular action to invoke on a remote application. For example, a client could send a SOAP message to a credit-card-verification Web service. After performing the verification, the Web service could respond with a SOAP message that contains credit-card authorization information. Any application that supports XML can process SOAP messages.

SOAP defines the structure of these messages, not how the messages are transferred between computers. SOAP relies on an underlying transport protocol such as HTTP—the fundamental protocol of the Web—to transfer messages across the network. HTTP is a simple, text-based protocol already familiar to most Web developers. Also, most networks allow HTTP communications to pass through their firewalls uninhibited. This ensures that communication between Web-services based applications will not be hindered by firewall security restrictions. To ensure that Web-services-based applications are secure, the W3C and other organizations are developing a number of technologies, including XML Encryption, XML Signature, XML Key Management Specification (XKMS), Security Assertions Markup Language (SAML) and eXtensible Access Control Markup Language (XACML), each of which we discuss in Chapter 13, Web Services Security.

WSDL is an XML vocabulary that enables Web-services developers to describe their Web services in a standardized format. WSDL documents provide information for programs to determine how to use the functionalities that Web services provide. By processing a WSDL document, an application can determine exactly what data is required for requests to a Web service and what data the Web service will return.

With the popularity of Web services comes the need for organizing published services so that developers and applications can locate appropriate Web services and obtain their WSDL descriptions. UDDI registries follow the model of the telephone book to organize Web services. Web-services providers can publish their Web services—with WSDL descriptions—in public UDDI registries. Developers and applications then can query these registries to locate desired Web services, along with their complete WSDL descriptions and information about the companies that provide the Web services.

While developers can build Web services in any programming language and on any platform that supports these technologies, Sun Microsystems' Java 2 Platform and Microsoft's .NET Framework stand out as the primary, most complete environments for building, deploying and accessing Web services. The Java 2 Platform has an established community of developers and industry support for enhancing the platform with new technologies through the Java Community Process (JCP). The .NET Framework has pervasive Web services support and enables developers to build applications in many programming languages. Web services were designed with interoperability in mind, so Web-services-based applications built on either of these platforms, and many others can work together.

In Java Web Services for Experienced Programmers, we introduce the fundamental technologies that enable Web services, and concentrate on the APIs available for building Web services on the Java platform. Using the Java Web Services Developer Pack from Sun Microsystems, and Web-services platforms from vendors such as the Apache Foundation, Systinet, The Mind Electric, Cape Clear and others, we demonstrate the interoperability that SOAP and WSDL provide. The Java Web Services Developer Pack (JWSDP) was released as a product by Sun Microsystems three weeks before this book went to the presses. This fortuitous event enabled us to ensure that the discussions and code examples throughout the book are fully compliant with the JWSDP.

Who Should Read This Book

Deitel & Associates, Inc. has several Java and Web-services publications, intended for various audiences. We provide information on, here, inside this book’s back cover and in the Deitel™ Buzz Online e-mail newsletter ( to help you determine which publication is best for you.

Our Java book, Java How to Program, 4/e is part of our How to Program Series for college students and professionals. It provides a comprehensive treatment of Java and includes learning aids and extensive ancillary support. Java How to Program assumes that the reader has little or no programming experience, but it gets up to speed quickly and offers a solid treatment of Java programming through the intermediate level. Early chapters focus on fundamental programming principles. The book builds on these to create increasingly complex and sophisticated programs that demonstrate how to use Java technologies to create graphical user interfaces, networking applications, multithreaded applications, Web-based applications, graphics, multimedia and more. We encourage professors and professionals to consider the Java Complete Training Course, 4/e. This package includes Java How to Program, 4/e as well as the Java Multimedia Cyber Classroom, 4/e, an interactive multimedia Windows®-based CD-ROM that provides extensive e-Learning features. The Java Complete Training Course, 4/e and Java Multimedia Cyber Classroom, 4/ e are discussed in detail later in this Preface.

Our book, Advanced Java 2 Platform How to Program, is intended for advanced college courses and for professional developers. With Java How to Program, 4/e as a launching point, Advanced Java 2 Platform How to Program provides in-depth treatments of several groupings of advanced topics—advanced GUI and graphics, distributed systems, introductory Web services, Enterprise Java and XML technologies. Specific technologies include Swing, the Model-View-Controller architecture, graphics with Java 2D™ and Java 3D™, JavaBeans, Security, JDBC, servlets, JavaServer Pages™ (JSP), Java 2 Micro Edition™ (J2ME), Enterprise JavaBeans™ (EJB), Java Message Service (JMS), Jini™, Jiro™, JavaSpaces™, Java Management Extensions (JMX), CORBA®, Peer-to-Peer, JXTA and Apache SOAP.

This book, Java Web Services for Experienced Programmers, is part of the new Deitel™ Developer Series, intended for professional software developers—from novices through experienced programmers. Java Web Services for Experienced Programmers is part of the For Experienced Programmers subseries, designed for the experienced programmer who wants a deep treatment of a new technology. Java Web Services for Experienced Programmers begins with an overview of XML, which provides a foundation for Web-services technologies. The book continues by delving deeply into more sophisticated topics, such as Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), the Java API for XML-based RPC (JAX-RPC), the Java API for XML Messaging (JAXM) and more. Unlike the How to Program Series books, the Deitel™ Developer Series books do not include the extensive pedagogic features, such as chapter exercises and ancillary support materials (for college professors) required for academic courses.

Web Services A Technical Introduction is the first publication in our A Technical Introduction subseries, which offers broad overviews of new technologies. We designed this publication to be a "literacy" book that explains Web services, explores the benefits they provide to businesses and discusses key concepts related to the technology. We believe that the information we present will be useful both to programmers, who must learn to incorporate Web services in their applications and networks, and to IT managers, who must decide when and how to adopt this important new technology. For programmers, this book does include programming-intensive appendices on building Web services in Java and in Visual Basic® .NET (with ASP .NET).

Each of our Java books presents many complete, working Java programs and depicts their inputs and outputs in actual screen shots of running programs. This is our signature Live-Code™ approach. Each book’s source code is available free for download at

For a detailed listing of Deitel™ products and services, please see the "advertorial" pages at the back of this book and visit Readers may also want to register for our new Deitel™ Buzz Online e-mail newsletter (, which provides information about our publications, company announcements, links to informative technical articles, programming tips, teaching tips, challenges, anecdotes and more.

As you proceed, if you would like to communicate with us, please send an e-mail to deitel@deitel.comwe always respond promptly. Please check our Web sites,, and for frequent updates, errata, FAQs, etc. When sending an e-mail, please include the book’s title and edition number. We sincerely hope that you enjoy learning Web services technologies with our publications.

Features of Java Web Services: For Experienced Programmers

This edition contains many features, including:

Syntax Highlighting. This book uses five-way syntax highlighting to emphasize XML and Java programming elements in a manner similar to that of many development tools. Our syntax-highlighting conventions are as follows:

literal values

errors and JSP directives
text, class, method and variable names


"Code Washing." This is our term for the process we use to format the book’s programs so that they have a carefully commented, open layout. The code is grouped into small, well-documented pieces. This greatly improves code readability—an especially important goal for us, considering that this book contains approximately 13,321 lines of code in 103 complete Live-Code™ programs.

XML. Use of Extensible Markup Language (XML) is exploding in the software-development industry, in the e-business and e-commerce communities, and is foundational to Web services. Because XML is a platform-independent technology for describing data and for creating markup languages, XML’s data portability integrates well with Java-based portable applications and services. Chapters 2–5 introduce XML, Document Type Definitions, the Document Object Model (DOM™) and Extensible Stylesheet Language (XSL and XSLT).

Simple Object Access Protocol (SOAP). The Simple Object Access Protocol is the lingua franca that enables Web-services interoperability. SOAP is a simple markup language for describing messages between applications. Built using XML, SOAP provides the true platform and programming-language independence that modern applications require for integrating business processes and transactions across the Web. We discuss SOAP and Web-services platforms for deploying SOAP-based Java Web services in Chapter 6.

Web Services Description Language (WSDL). The Web Services Description Language provides developers with an XML-based language for describing Web services and exposing those Web services for public access. Chapter 7, Web Services Description Language discusses WSDL.

XML Registries and Universal Description, Discovery and Integration (UDDI). Businesses and consumers need to be able to locate organizations that provide Web services. XML registries, including those based on Universal Description, Discovery and Integration (UDDI), provide common repositories for business information and WSDL descriptions of Web services. Chapter 8, UDDI, Discovery and Web Services Registries introduces the fundamentals of XML registries. Chapter 10, Java API for XML Registries, presents the Java technology that enables programmatic access to UDDI and other XML registries.

Java API for XML-based Remote Procedure Calls (JAX-RPC). SOAP is an important protocol for Web services, but not all developers need to work with SOAP messages directly. JAX-RPC provides developers with a powerful API for building RPC-oriented Web services and Web-services clients without requiring developers to manipulate SOAP messages. This enables developers to concentrate on the Web services and clients, instead of on the underlying messaging protocol. Based in part on Java’s Remote Method Invocation (RMI) API, JAX-RPC enables developers to define remote interfaces for their Web services, and provides tools for generating WSDL documents, stubs and ties from those interfaces. JAX-RPC also enables client developers to generate client-side classes for interacting with a Web service based on that service’s WSDL document. Chapter 9, Java API for XML-Based RPC discusses the details of using JAX-RPC for building Web services and for building clients, including those that use the Dynamic Invocation Interface (DII), dynamic proxies and static stubs. We also demonstrate a JAX-RPC client that interacts with a Web service implemented in Visual Basic® .NET.

Java API for XML Messaging (JAXM) and SOAP with Attachments API for Java (SAAJ). SAAJ provides a robust API for developers who require access to the detailed structures of SOAP messages. Using JAXM, developers can create Web services based on various profiles, which enable the use of messaging frameworks such as ebXML. JAXM also enables developers to build asynchronous Web services and clients through the use of message providers. Chapter 11, JAXM and SAAJ presents these foundational Java-Web-services technologies.

Java API for XML Registries (JAXR). XML registries based on UDDI, ebXML and other technologies enable businesses to publish and discover Web services. JAXR provides a Java API with which developers can manipulate these registries. Through JAXR, developers can build applications for searching XML registries, for publishing new Web services and for manipulating existing registry entries. Chapter 10, Java API for XML Registries discusses JAXR for querying, publishing and manipulating XML registry entries.

Computer, Internet and Web-Services Security. The ease with which businesses can integrate transactions and processes across the Internet by using Web-services technologies raises numerous security concerns. The World Wide Web Consortium (W3C) and other industry leaders are developing security technologies for Web services, such as XML Encryption, Security Assertions Markup Language (SAML), and others. Chapter 12, Computer and Internet Security and Chapter 13, Web Services Security discuss general security concerns and specific technologies for securing Web services.

Wireless Web Services. By some estimates, about a billion people worldwide are using mobile devices, such as wireless phones and PDAs, and this number is increasing rapidly. Enabling access to Web services from mobile devices is crucial to these technologies. The Java 2 Micro Edition provides a Java platform for building mobile applications, and various third parties have developed APIs and implementations for accessing Web services from J2ME-enabled devices. Chapter 14, Wireless Web Services and J2ME discusses the integration of mobile devices into the Web-services infrastructure and presents J2ME MIDlets that access Web services.

Pedagogic Approach

Java Web Services for Experienced Programmers contains a rich collection of examples. The book concentrates on the principles of good software engineering and stresses program clarity. We are educators who teach edge-of-the-practice topics in industry classrooms worldwide. We avoid arcane terminology and syntax specifications in favor of teaching by example.

We use fonts to distinguish between features such as menu names and menu items and other elements that appear in graphical user interfaces (GUIs). Our convention is to emphasize GUI features in a sans-serif bold Helvetica font (e.g., File menu) and to emphasize program text in a serif bold Courier font (e.g., boolean x = true;).

Live-Code™ Teaching Approach

Java Web Services for Experienced Programmers includes 103 Live-Code™ examples. This presentation style exemplifies the way we teach and write about programming and is the focus of our multimedia Cyber Classrooms and Web-based training courses as well. Each new concept is presented in the context of a complete, working example that is followed by one or more windows showing the program’s input/output dialog. Reading the examples in the text is much like entering and running them on a computer. Readers have the option of downloading all of the book’s code examples from, under the Downloads/Resources link. Other links provide errata and answers to frequently asked questions.

World Wide Web Access

All of the source code for the program examples in Java Web Services: For Experienced Programmers (and our other publications) is available on the Internet as downloads from the following Web sites:

Registration is quick and easy and these downloads are free. We suggest downloading all the examples, then running each program as you read the corresponding portion of the book. Make changes to the examples and immediately see the effects of those changes—this is a great way to improve your programming skills. Setup instructions for required software can be found in Chapter 1, Introduction, and at our Web sites, along with the examples. [Note: This is copyrighted material. Feel free to use it as you study, but you may not republish any portion of it in any form without explicit permission from Prentice Hall and the authors.]


Each chapter begins with objectives that inform readers of what to expect and give them an opportunity, after reading the chapter, to determine whether they have met the intended goals.


The chapter objectives are followed by sets of quotations. Some are humorous, some are philosophical and some offer interesting insights. We have found that readers enjoy relating the quotations to the chapter material. Many of the quotations are worth a "second look" after you read each chapter.


The chapter outline enables readers to approach the material in top-down fashion. Along with the chapter objectives, the outline helps users anticipate topics and set a comfortable and effective learning pace.

13,321 Lines of Code in 103 Example Programs (with Program Outputs)

We present Java Web services features in the context of complete, working Web services and client programs. All examples are available as downloads from our Web site,


Each chapter ends with a summary that helps readers review and reinforce key concepts.

Approximately 1,818 Index Entries (with approximately 2,682 Page References)

We have included an extensive Index. This resource enables readers to search for any term or concept by keyword. The Index is especially useful to practicing programmers who use the book as a reference.

"Double Indexing" of All Live-Code™ Examples

Java Web Services for Experienced Programmers has 103 Live-Code™ examples, which we have "double indexed." For every program in the book, we took the figure caption, and indexed it both alphabetically and as a subindex item under "Examples." This makes it easier to find examples using particular features.

Java Multimedia Cyber Classroom and The Complete Java Training Course

For readers who want to learn Java or reinforce their Java skills before reading this book, we have prepared an interactive, CD-ROM-based, software version of Java How to Program, 4/e called the Java Multimedia Cyber Classroom, 4/e. This resource, ideal for corporate training and college courses, is loaded with interactive e-learning features. The Cyber Classroom is packaged with the Java How to Program, 4/e book at a discount in the boxed product called The Complete Java Training Course, 4/e. If you already have the book and would like to purchase the Java Multimedia Cyber Classroom, 4/e separately, please visit The ISBN number for the Java Multimedia Cyber Classroom, 4/e is 0-13-064935-X. Many Deitel™ Cyber Classrooms are available in CD-ROM and Web-based training formats.

The CD-ROM provides an introduction in which the authors overview the Cyber Classroom’s features. The textbook’s 197 Live-Code™ example Java programs truly "come alive" in the Cyber Classroom. If you are viewing a program and want to execute it, you simply click the lightning-bolt icon, and the program will run. You immediately will see—and hear, when working with audio-based multimedia programs—the program’s output. Click the audio icon, and one of the authors will discuss the program and "walk you through" the code.

The Cyber Classroom also provides navigational aids, including extensive hyperlinking. The Cyber Classroom is browser based, so it remembers sections that you have visited recently and allows you to move forward or backward among those sections. The thousands of index entries are hyperlinked to their text occurrences. Furthermore, when you key in a term using the "find" feature, the Cyber Classroom will locate occurrences of that term throughout the text. The Table of Contents entries are "hot," so clicking a chapter name takes you immediately to that chapter.

Readers like the fact that solutions to approximately half the exercises in Java How to Program, 4/e are included with the Cyber Classroom. Studying and running these extra programs is a great way for readers to enhance their learning experience.

Professionals and student users of our Cyber Classrooms tell us that they like the interactivity and that the Cyber Classroom is an effective reference due to its extensive hyperlinking and other navigational features. We received an e-mail from a reader who said he lives "in the boonies" and cannot attend a live course at a university, so the Cyber Classroom provided an ideal solution to his educational needs.

Professors tell us that their students enjoy using the Cyber Classroom, spend more time on the courses and master more of the material than in textbook-only courses. For a complete list of the available and forthcoming Cyber Classrooms and Complete Training Courses, see the Deitel™ Series page at the beginning of this book, the product listing and ordering information at the end of this book or visit, or

Deitel e-Learning Initiatives

e-Books and Support for Wireless Devices

Wireless devices will play an enormous role in the future of the Internet. Given recent bandwidth enhancements and the emergence of 3G wireless technologies, it is projected that, within two years, more people will access the Internet through wireless devices than through desktop computers. Deitel & Associates is committed to wireless accessibility and has published Wireless Internet & Mobile Business How to Program. To fulfill the needs of a wide range of customers, we are developing our content in traditional print formats and in new electronic formats, such as e-books, so that readers can access content virtually anytime, anywhere. Subscribe to the Deitel™ Buzz Online newsletter ( for periodic updates on all Deitel technology initiatives.


Deitel & Associates is partnering with Prentice Hall’s parent company, Pearson PLC, and its information technology Web site,, to launch the Deitel e-Matter series at in Spring 2003. The Deitel e-Matter series will provide professionals with an additional source of information on specific programming topics at modest prices. e-Matter consists of stand-alone sections taken from published texts, forthcoming texts or pieces written during the Deitel research-and-development process. Developing e-Matter based on pre-publication manuscripts allows us to offer significant amounts of the material well before our books are published.

Learning Management Systems

We are working with many corporate e-Learning providers to make our electronic products available in popular, AICC-compliant, SCORM-compliant learning management systems.

Course Management Systems: WebCT, Blackboard, CourseCompass and Premium CourseCompass

We are working with Prentice Hall to integrate our How to Program Series courseware into four series of Course Management Systems-based products: WebCT, Blackboard™, CourseCompass and Premium CourseCompass. These enable college instructors to create, manage and use sophisticated Web-based educational programs. Course Management Systems feature course customization (such as posting contact information, policies, syllabi, announcements, assignments, grades, performance evaluations and progress tracking), class and student-management tools, a grade book, reporting tools, communication tools (such as chat rooms), a whiteboard, document sharing, bulletin boards and more. Instructors can use these products to communicate with their students, create online quizzes and exams from questions directly linked to the text and efficiently grade and track test results. For more information about these upcoming products, visit For demonstrations of existing WebCT, Blackboard and CourseCompass course materials, visit, and, respectively.

Deitel and InformIT Newsletters

Deitel Column in the InformIT Newsletters

Deitel & Associates contributes articles to the free InformIT weekly e-mail newsletter, subscribed to by more than 750,000 IT professionals worldwide. To subscribe, visit and click the MyInformIT tab.

Deitel™ Buzz Online Newsletter

Our own free newsletter, the Deitel™ Buzz Online, includes commentary on industry trends and developments, links to articles and resources from our published books and upcoming publications, product-release schedules, challenges, anecdotes and more. To subscribe, visit

The Deitel™ Developer Series

Deitel & Associates, Inc., is making a major commitment to Web services through the launch of our Deitel™ Developer Series. Java Web Services for Experienced Programmers and Web Services A Technical Introduction are the first Web-services books in this new series. These will be followed by additional titles on Web-services technologies.

The Deitel™ Developer Series is divided into three subseries. The A Technical Introduction subseries provides IT managers and developers with detailed overviews of emerging technologies. The A Programmer’s Introduction subseries is designed to teach the fundamentals of new languages and software technologies to developers from the ground up. These books discuss programming fundamentals, followed by brief introductions to more sophisticated topics. Finally, the For Experienced Programmers subseries is designed for seasoned developers seeking to learn new programming languages and technologies. The books in this subseries move quickly to in-depth coverage of the programming languages and software technologies being covered.


One of the great pleasures of writing a book is acknowledging the efforts of many people whose names may not appear on the cover, but whose hard work, cooperation, friendship and understanding were crucial to the production of the book.

Many other people at Deitel & Associates, Inc., devoted long hours to this project. Below is a list of our full-time employees who contributed to this publication:

Tem R. Nieto, a graduate of the Massachusetts Institute of Technology, is Director of Product Development at Deitel & Associates, Inc. He is co-author of C#: A Programmer’s Introduction, C# for Experienced Programmers, Visual Basic .NET for Experienced Programmers and numerous texts in the How to Program series. Tem co-authored Chapters 2–5 on XML technologies.

Lauren Trees, a graduate of Brown University with a concentration in Literatures in English contributed to the Preface, Chapter 1, Introduction, Chapter 8, UDDI, Discovery and Web Services Registries, Chapter 12, Computer and Internet Security and Chapter 13, Web Services Security.

Rashmi Jayaprakash, a graduate of Boston University with a degree in Computer Science, co-authored Chapter 8, UDDI, Discovery and Web Services Registries.

Laura Treibick, a graduate of the University of Colorado at Boulder with a degree in Photography and Multimedia, is Director of Multimedia at Deitel & Associates, Inc. She created and enhanced many of the graphics throughout the text.

Barbara Deitel applied copy edits to the manuscript and compiled the quotations for all the chapters.

Abbey Deitel, a graduate of Carnegie Mellon University’s Industrial Management Program and President of Deitel & Associates, Inc., co-authored Chapter 12, Computer and Internet Security, and Chapter 13, Web Services Security.

We would also like to thank the participants in the Deitel & Associates, Inc., College Internship Program who contributed to this publication.

A. James O’Leary, a senior in Computer Science and Psychology at Rensselaer Polytechnic Institute, co-authored Chapter 11 and Chapter 12.

Christina Carney, a senior in Psychology and Business at Framingham State College, researched the Internet and Web Resources URLs.

We are fortunate to have been able to work with the talented and dedicated team of publishing professionals at Prentice Hall. We especially appreciate the extraordinary efforts of our editor, Karen McLean of PH/PTR and her assistant, Michael Ruel, who manages the extraordinary review processes for our Deitel™ Developer Series publications. We would also like to thank Mark L. Taub, Editor-in-Chief of computer publications at PH/ PTR, for conceptualizing the Deitel™ Developer Series and providing the necessary resources and encouragement to help us generate the many books in this series. A special note of appreciation goes to Marcia Horton, Editor-in-Chief of Engineering and Computer Science at Prentice Hall. Marcia has been our mentor in publishing and our friend for 18 years at Prentice Hall. She is responsible for all aspects of Deitel publications at all Pearson divisions including Prentice Hall, PH/PTR and Pearson International.

Laura Treibick, the Director of Multimedia at Deitel & Associates, Inc., and Dr. Harvey M. Deitel designed the cover. Tamara Newnam ( carried the cover through to completion, and inserted five of our Deitel bug characters in the cover art (can you find them?).

We wish to acknowledge the efforts of our reviewers, who, adhering to a tight time schedule, scrutinized the text and the programs, providing countless suggestions for improving the accuracy and completeness of the presentation. We sincerely appreciate the time these people took from their busy professional schedules to help us ensure the quality, accuracy and timeliness of this book.

Dibyendu Baksi (Sun Microsystems)

Arun Gupta (Sun Microsystems)

Christian Hessler (Sun Microsystems, Inc.)

Doug Kohlert (Sun Microsystems)

Debra Scott, Ph.D. (Sun Microsystems)

Saleem Arif (Data Concepts)

Kevin Curley (Cape Clear)

Christopher Fry (Clear Methods)

Kyle Gabhart (Objective Solutions, Inc.)

Ari Goldberg (Alphawolf)

Adam C. Gross (Grand Central Communications, Inc.)

Mason Ham (Zambit Technologies)

Michael Hudson (Blueprint Technologies, Inc.)

Anne Thomas Manes (Systinet)

George McKevitt (Comcast)

Paul Monday (J. D. Edwards & Co.)

JP Morganthal (iKimbo)

Clifton Nock (J. D. Edwards & Co.)

Neal Patel (Microsoft Corporation)

Mike Plusch (Clear Methods)

Teri Radichel (Radical Software)

Rani Sandoy-Brown (AT&T Wireless)

Chris Trevino (AT&T Wireless)

Sazi Temel (BEA Systems)

Priscilla Walmsley (Consultant)

David Weller (Valtech Technologies, Inc.)

Justin Whitney (Writer and Web Services Game Designer)

Ilan Zolar (Pacific Bell)

We would sincerely appreciate your comments, criticisms, corrections and suggestions for improving the book. Please address all correspondence to:

We will respond promptly.

Well, that’s it for now. Welcome to the exciting world of Web services. Good luck!

Dr. Harvey M. Deitel
Paul J. Deitel
Jonathan Gadzik
Kyle Lomelí
Sean E. Santry
Su Zhang

About the Authors

Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has 41 years experience in the computing field, including extensive industry and academic experience. Dr. Deitel earned B.S. and M.S. degrees from the Massachusetts Institute of Technology and a Ph.D. from Boston University. He worked on the pioneering virtual-memory operating-systems projects at IBM and MIT that developed techniques now widely implemented in systems such as UNIX®, Linux™ and Windows XP. He has 20 years of college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., with his son, Paul J. Deitel. He is the author or co-author of several dozen books and multimedia packages and is writing many more. With translations published in Japanese, Russian, Spanish, Traditional Chinese, Simplified Chinese, Korean, French, Polish, Italian, Portuguese and Greek, Dr. Deitel’s texts have earned international recognition. Dr. Deitel has delivered professional seminars to major corporations, and to government organizations and the military.

Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology’s Sloan School of Management, where he studied Information Technology. Through Deitel & Associates, Inc., he has delivered Java, C, C++ and Internet and World Wide Web programming courses to industry clients including Compaq, Hewlett-Packard, Sun Microsystems, White Sands Missile Range, Rogue Wave Software, Boeing, Dell, Stratus, Fidelity, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Lucent Technologies, Adra Systems, Entergy, CableData Systems, NASA at the Kennedy Space Center, the National Severe Storms Laboratory, IBM and many other organizations. He has lectured on C++ and Java for the Boston Chapter of the Association for Computing Machinery and has taught satellite-based Java courses through a cooperative venture of Deitel & Associates, Inc., Prentice Hall and the Technology Education Network. He and his father, Dr. Harvey M. Deitel, are the world’s best-selling programming-language textbook authors.

Jonathan Gadzik is a graduate of the Columbia University School of Engineering and Applied Science, where he received a Bachelor of Science in Computer Science. He is a Sun-Certified Programmer and Developer for the Java 2 Platform, and is a Sun-Certified Web-Component Developer for the J2EE Platform. He has contributed to several Deitel publications, including Java How to Program, 4/e, Advanced Java 2 Platform How to Program, Visual Basic .NET How to Program and C# How to Program.

Kyle Lomelí is a graduate of Oberlin College where he majored in Computer Science and minored in East Asian Studies. At Oberlin College he researched, designed and developed agent-based distributed systems. He is a Sun Certified Developer for the Java 2 Platform, and has contributed to several Deitel publications, including Advanced Java 2 Platform How to Program, Visual Basic .NET How to Program and C# How to Program.

Sean E. Santry, Director of Software Development with Deitel & Associates, Inc., and co-author of Advanced Java 2 Platform How to Program, is a graduate of Boston College where he studied Computer Science and Philosophy. At Boston College he performed original research on the application of metaphysical systems to object-oriented software design. Through Deitel & Associates, Inc. he has delivered advanced-level industry courses in Java, C++, object-oriented programming, Enterprise JavaBeans, Web services, design patterns and other technologies for clients including Sun Microsystems, Computer Associates, EMC, Dell, Compaq, HP, Boeing, Washingtonpost.Newsweek Interactive and others. He has contributed to numerous Deitel publications, including various editions of Java How to Program; XML How to Program; C++ How to Program; C# How to Program; C How to Program; e-Business and e-Commerce How to Program and e-Business and e-Commerce for Managers. Before joining Deitel & Associates, he developed e-business applications with BiT Group, a Boston-area consulting firm.

Su Zhang holds B.Sc and a M.Sc degrees in Computer Science from McGill University. Her graduate research included modeling and simulation, real-time systems and Java technology. She worked on Java and Web-technologies-related projects prior to joining Deitel. She has contributed to other Deitel publications, including Advanced Java 2 Platform How to Program and Python How to Program.

About Deitel & Associates, Inc.

Deitel & Associates is an internationally recognized corporate instructor-led training and content-creation organization specializing in Internet/World Wide Web software technology, e-business/e-commerce software technology, object technology and programming-languages education. The company provides courses in Internet and World Wide Web programming, wireless Internet programming, Web services (in both Java and .NET languages), object technology, and major programming languages and platforms, such as Visual Basic® .NET, C#, Visual C++ .NET, Java™, Advanced Java™, C, C++, XML, Perl, Python, ASP .NET, ADO .NET and more. Deitel & Associates, Inc., was founded by Dr. Harvey M. Deitel and Paul J. Deitel, the world’s leading programming-language textbook authors. The company’s clients include many of the world’s largest computer companies, government agencies, branches of the military and business organizations. Through its 27-year publishing partnership with Prentice Hall, Deitel & Associates, Inc., publishes leading-edge programming textbooks, professional books, interactive CD-ROM-based multimedia Cyber Classrooms, Complete Training Courses, e-books, e-matter, Web-based training courses and course-management-systems e-content. Deitel & Associates and the authors can be reached via e-mail at:

To learn more about Deitel & Associates, its publications and its worldwide corporate on-site curriculum, see the last few pages of this book or visit:

Individuals wishing to purchase Deitel books, Cyber Classrooms, Complete Training Courses and Web-based training courses can do so through bookstores, online booksellers and:

Bulk orders by corporations and academic institutions should be placed directly with Prentice Hall. See the last few pages of this book for worldwide ordering details. To follow the Deitel publishing program, please register for the Deitel™ Buzz Online newsletter at

The World Wide Web Consortium (W3C)

Deitel & Associates, Inc., is a member of the World Wide Web Consortium (W3C). The W3C was founded in 1994 "to develop common protocols for the evolution of the World Wide Web." As a W3C member, Deitel & Associates, Inc., holds a seat on the W3C Advisory Committee (the company’s representative is our CEO and Chief Technology Officer, Paul Deitel). Advisory Committee members help provide "strategic direction" to the W3C through meetings held around the world. Member organizations also help develop standards recommendations for Web technologies (such as XHTML, XML and many others) through participation in W3C activities and groups. Membership in the W3C is intended for companies and large organizations. To obtain information on becoming a member of the W3C visit Consortium/Prospectus/Joining.


[ top ]

© 1992-2005. Deitel & Associates, Inc. All Rights Reserved.