Course Description

This 3-day Java Web Services using JAX-WS training course will teach students how to enable Web-based access to distributed software and business services. JAX-WS Web Services bring a standard, open service architecture to component development that allows web services to be accessed over the Web with standard protocols such as HTTP and standard XML formats for messages and service descriptions. This course will give students a thorough understanding of the current Web services architecture, and the technologies that support Web services, including the Java APIs such as JAX-WS and JSR-181.

Topics include: SOAP, WSDL, JAX-WS, SAAJ, JAXB, XML, UDDI, MTOM, EJB based Web Services and the WS-* Standards. We will look at the current state of the art of Web services, what works and what doesn’t work, and also at newer standards, and how they fit into the Web services picture. This course is hands on, and students will actually build and deploy a Web service during the course.


Programming experience in Java and a good working knowledge of XML are required.

Who is this course for?

For software developers who need a more thorough understanding of web services.

Further Training

After some further on-the-job programming experience with JAX-WS and Java Web SErvices, we recommend students attend our
XML Programming Advanced training course to gain higher-level skills in the usage of XML.

Course content

Service Oriented Architecture (SOA) & Web Services
SOA (Service Oriented Architecture) Overview
Web Services Overview / Relationship to SOA
Web Services Architecture
SOAP & WSDL Overview
Introduction to Java Web Services
Java Web Services
JAX-WS and JSR-181
A Simple Service definition with @WebService
@WebService, Modifying the Generated Service
Other Annotations (@WebMethod, @SOAPBinding)
The SEI (Service Endpoint Interface
JAX-WS Capabilities
WSDL to Java Mapping
Capabilities (XML Messaging, Handlers, SOAP/HTTP, Client Programming
JAX-WS Clients
Programming Model, Generating Classes from WSDL
Writing a JAX-WS client
Dynamic Clients
WSDL – Web Services Description Language
XML Namespace & XML Schema Overview
Namespaces and Schema in WSDL Documents
WSDL Structure & Elements
A WSDL Document
SOAP 1.1 Binding for WSDL
SOAP Overview
Message Structure
SOAP Faults, Attachments
SOAP Messaging and HTTP Binding
SOAP Styles and Encoding
SAAJ, DOM, & SOAP Handlers
SAAJ Overview, Message Structure and API
Creating/Sending Messages
DOM Overview
Using DOM with SAAJ
Soap Handlers
JAXB – Java Architecture for XML Binding
Overview and Architecture
Generating Java Classes from XML
Customizing Generated Java
Generating XML Schema from
Annotated Java Classes
Web Services, WSDL, JAXB
Start from WSDL/Start from WSDL & Java
Starting from WSDL
Binding Customizations
Starting from WSDL and Java
XML-Based (Bare) Web Services
XML Messaging Overview
JAX-WS Providers
A SOAP Provider an Source Provider
XML Clients with Dispatch
XML/HTTP Messaging with Provider
Overview of REST and JAX-RS
Handling Binary Data
Overview and Issues
Default Handling
MTOM Overview
Using MTOM in Services and Clients
Using DataHandler
Java EE Security / Role Based Security
Securing Web Services with BASIC
Transport Security / HTTPS
WS-Security (WSS)
EJB-Based Web Services
EJB Overview
Session Beans
Programming EJB
Creating/Configuring EJB Based Web
WS-* Overview
WS-Interoperability (WS-I)
The WS-I Basic Profile
Best Practices
Coarse Grained Web Services
Optimization and Caching
XML Handling
Top Down / Bottom Up