I went from knowing nothing to knowing enough to create forms with confidence. The instructor was p... More Testimonials »

Java Web Services Training

Delivery Options

Class Date and Time Price Pricing Information Register
Mar 29 - Apr 2, 2010 10:00 AM - 5:00 PM ET $2,625.00 or 5 vouchers Register
Apr 5 - 9, 2010 10:00 AM - 5:00 PM ET $2,625.00 or 5 vouchers Register
May 3 - 7, 2010 10:00 AM - 5:00 PM ET $2,625.00 or 5 vouchers Register

Class Description

Class Overview

A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students learn the key standards -- SOAP, WSDL, and the WS-I Basic Profile -- and the Java architecture that has evolved to build interoperable services and clients. JAX-WS is central to the course, and we cover both WSDL-driven and Java-driven development paths, as well as message handlers and attachment support. With the new Provider and Dispatch APIs, it's now much easier to integrate SAAJ, JAXB, and JAXP code into services and clients, and we explore these strategies in depth as well.

(For training within the J2EE 1.4 environment, and a concentration on JAX-RPC and SAAJ, please see version 1.5.3 of this course.)

Class Goals

  • Be able to describe the interoperable web services architecture, including the roles of SOAP and WSDL.
  • Understand the importance of the WS-I Basic Profile for interoperable web services.
  • Build JAX-WS services and clients that take full advantage of the automated data binding of JAXB.
  • Use lower-level SOAP and XML APIs for services and/or clients.
  • Customize data binding by specifying specific type mappings or altering method or parameter names.
  • Expose session beans as web services.
  • Incorporate binary data, such as images, into service and client code.

Class Outline

  1. Overview of Web Services
    1. Why Web Services?
    2. Service-Oriented Architecture
    3. HTTP and XML
    4. Simple Object Access Protocol (SOAP)
    5. Web Service Description Language (WSDL)
    6. Universal Description, Discovery and Integration (UDDI)
    7. The WS-I Basic and Related Profiles
    8. REST
  2. Web Services for Java EE
    1. Hosting Web Services: Scenarios
    2. Invoking Web Services: Scenarios
    3. Web Services for Java EE (WS4JEE)
    4. The Automated Approach: JAX-WS and JAXB
    5. Manual Options: SAAJ and JAXP
    6. Portable Web-Services Metadata
    7. Service Registries: JAXR
  3. The Simple Object Access Protocol
    1. Messaging Model
    2. Namespaces
    3. SOAP over HTTP
    4. The SOAP Envelope
    5. The Message Header
    6. The Message Body
    7. SOAP Faults
    8. Attachments
  4. The Java API for XML Binding
    1. The Need for Data Binding
    2. XML Schema
    3. Two Paths
    4. JAXB Compilation
    5. Mapping Schema Types to Java
    6. Java-to-XML Mapping Using Annotations
    7. Marshaling and Unmarshaling
    8. Working with JAXB Object Models
    9. In-Memory Validation
  5. Web Services Description Language
    1. Web Services as Component-Based Software
    2. The Need for an IDL
    3. Web Services Description Language
    4. WSDL Information Model
    5. The Abstract Model -- Service Semantics
    6. Message Description
    7. Messaging Styles
    8. The Concrete Model -- Ports, Services, Locations
    9. Extending WSDL -- Bindings
    10. Service Description
  6. The Java API for XML-Based Web Services
    1. Two Paths
    2. How It Works: Build Time and Runtime
    3. The Service Endpoint Interface
    4. Working from WSDL
    5. Working from Java
    6. RPC and Document Styles
    7. One-Way Messaging
    8. Binary Protocols
  7. WSDL-to-Java Development
    1. The @WebService Annotation
    2. Generated Code
    3. Compilation and Assembly
    4. Deployment
    5. Runtime Behavior
    6. Scope of Code Generation
    7. More JAXB: Mapping Collections
    8. More JAXB: Mapping Enumerations
    9. Throwing Exceptions
  8. Client-Side Development
    1. Stubs and Proxies
    2. Generated Code
    3. Locating a Service
    4. Invoking a Service
    5. Exception Handling
  9. Java-to-WSDL Development
    1. The @WebMethod, @XmlParam, and Related Annotations
    2. Scope of Code Generation
    3. More JAXB: Mapping Inheritance
    4. Controlling the XML Model
    5. Controlling the WSDL Description
  10. JAX-WS Best Practices
    1. Which Way to Go?
    2. Interoperability Impact
    3. Portability Impact
    4. Polymorphism in Web Services
    5. Web Services as Java EE Components
    6. Lifecycle Annotations
    7. Context Interfaces
    8. The @WebServiceRef Annotation
  11. Provider and Dispatch APIs
    1. Stepping Down
    2. The Provider<T> Interface
    3. Implementing a Provider
    4. JAXB Without WSDL
    5. Integrating JAXP
    6. The Dispatch<T> Interface
    7. Building Clients
  12. The SOAP with Attachments API for Java
    1. The SAAJ Object Model
    2. Parsing a SOAP Message
    3. Reading Message Content
    4. Working with Namespaces
    5. Creating a Message
    6. Setting Message Content
  13. Message Handlers
    1. Handling SOAP Headers
    2. Servlet Endpoint Context
    3. MessageContext and SOAPMessageContext
    4. Message Handlers and Handler Chains
    5. Processing Model and Patterns
    6. Client-Side Handlers
  14. EJBs as Web Services
    1. Enterprise JavaBeans
    2. Three Tiers for Java EE
    3. EJB3 and JAX-WS
    4. Session Beans as Web Service Endpoints
    5. The Bean's Service Endpoint Interface
    6. SOAP as an EJB Protocol
    7. Pitfalls
  15. Handling Binary Content
    1. The WS-I Attachments Profile
    2. Using base64Binary
    3. MIME Attachments
    4. JAX-WS Support
    5. MTOM and XOP
    6. SAAJ Support

Class Materials

All students receive a course manual or book and all the class examples.

Students in private onsite classes will also receive:

Class Prerequisites

Experience in the following areas is required:

  • Strong Java programming skills are essential
  • Students must be able to read XML documents and to write well-formed XML by hand
  • Experience with other Java EE standards, especially servlets and JSP, will be very helpful in class, but is not strictly required.

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Training Classes
Locations
Live eLearning

Like a class you would go to, but you don't have to go anywhere. More...

Customized Onsite Training

The trainer comes to you and delivers a class customized for your team. More...

Self-Paced eLearning

Our least expensive option. You proceed through the course entirely at your own pace. More...

Reference Library
Partner Programs
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723