Java Web Services Development

This course begins by introducing essential Web service concepts, and describes how to create and consume simple SOAP-based Web services. The course also explains the important role of WSDL in describing Web service interfaces.

The course then digs deeper into Web service standards, techniques, and APIs. You will learn how to handle Web service faults; maximize integration options; use headers to provide Web service metadata; customize Java-to-object serialization formats; and invoke Web services programmatically by using JAX-WS.

The course also describes how to create and consume RESTful Web services, and explains how to access RESTful Web services by using JAX-RS.


3 days



  • At least 6 months Java programming experience
  • Familiarity with enterprise development would be an advantage

What you'll learn

  • Creating and consuming SOAP-based Web services
  • Marshalling Java objects and binary data
  • Creating and accessing SOAP headers
  • Handling faults
  • Defining asynchronous and one-way operations
  • Implementing REST-based Web services
  • Securing Web services

Course details

Web Services Essentials

  • The role of Web services
  • Overview of SOAP and REST
  • Conveying SOAP over HTTP
  • RPC vs. Document formatting
  • SOAP Encoded vs. Literal serialization
  • Java Web services state-of-play

Creating and Consuming a Web service in Java

  • Overview of the Java Web Services Stack (Metro)
  • Creating a Java Web service
  • Generating a Web service proxy
  • Calling a Web service from a client application

Describing Web Services with WSDL

  • Overview of WSDL
  • Understanding WSDL services and ports
  • Bindings
  • Messages
  • Schema

SOAP Payloads

  • Overview of JAXB
  • Simple marshalling
  • Custom marshalling
  • Unmarshalling
  • Using JAXB in a Web service

Web Service Operations

  • Message exchange patterns
  • Parameter passing modes
  • One-way messaging

Web Service Techniques

  • Exception handling
  • SOAP faults
  • Implementing asynchronous Web methods

SOAP Handling

  • Overview of handlers
  • Defining logical handlers
  • Defining SOAP handlers
  • Accessing transport headers

Binary Payloads

  • Overview of binary data and SOAP
  • Returning base64-encoded binary data
  • Specifying the MIME type
  • Optimizing binary data transfer

Web Services in Java Enterprise Applications

  • Overview of Java Enterprise Edition
  • Example Java EE application
  • The role of Web services in Java EE

RESTful Web Services

  • Overview of RESTful Web services
  • Overview of the Java API for XML RESTful Web Services (JAX-RS)
  • Creating a RESTful Web Service

More on RESTful Web Services

  • URI path templates
  • Accessing additional HTTP info
  • RESTful design patterns

Web Service Security

  • Transport-level security
  • Message-level security
  • Overview of WSIT security
  • Common administrative steps
  • Transport-level user authentication
  • Username authentication with symmetric keys
  • Mutual certificates security
  • Transport security (SSL)
  • SAML authorization over SSL