AXIS2 - Java Web Services

Course:  JAXIS
Duration:  5 Days
Level:  III
Course Summary

Apache Axis2 is an implementation of the Simple Object Access Protocol (SOAP).

Axis2 has a modular and flexible message handling pipeline. This course focuses on the details of message handling and providing clear hooks for implementations of associated Web Services standards and protocols.

« Hide The Details
Topics Covered In This Course

Course Overview

Recap on SOA and SOAP

  • SOA aims
  • Service overview
  • Loose coupling
  • SOAP 1.1, SOAP 1.2
  • Examples of SOAP messages
  • Message exchange patterns
  • Use a web-based tool to send and receive SOAP messages

Introduction to Axis2

  • Overview
  • Aims
  • Top level components and flows
  • Demonstration
  • Repository
  • Install, start-up and test Axis2
  • Explore repository, services, modules, axis2.xml
  • Web client behavior

Introduction to WS-Addressing

  • Why WS-A?
  • Asynchronous model
  • Endpoint References
  • Reference Parameters

Creating services with Axis2

  • Deploying Java components
  • XML-based services vs. Bound services
  • Creating a service with Axis2, testing it
  • Command-line tooling

Asynchronous Web Services

  • Reply-To
  • HTTP 202
  • Tracing an asynchronous interaction using HTTPTracer


  • WSDL 1.1 vs WSDL2
  • tools for creating and reading WSDL
  • Contract first development
  • Lab Exercise * Create a WSDL

Building a web service contract first

  • Options
  • POJO development

Creating Stubs and Skeletons

  • Generating Clients

Building an end-to-end service from WSDL

Axis Data Binding

  • Intro to ADB
  • ADB options
  • XSD2Java
  • Alternatives to ABD * using XMLBeans
  • Exploring ADB
  • Using XSD2Java
  • Single class versus multi-class mapping


  • Looking at AXIOM and STaX
  • Detailed examples
  • Building XML structures dynamically
  • Creating and parsing XML using AXIOM

Dynamic clients

  • Using the ServiceClient API
  • Lab Exercise * calling services using AXIOM and ServiceClient


  • Using Axis2 in Eclipse
  • Ant Build scripts
  • Using Axis2 in a Unit test environment
  • Using the Eclise plugin
  • Creating Unit tests
  • Spring/Tomcat integration


  • REST arguments and positioning
  • Using XML/HTTP in a POST
  • The WSDL2.0 GET binding
  • Using Axis2 with GET and POST

MTOM - building and using binary attachments with Axis2

  • Build a binary service.
  • Trace with/without optimization.
  • Calculate the size of attachment to optimize

Understanding Sessions with Axis2

  • Using ServiceGroups and Axis2 context structure
  • EPR sessions vs HTTP Sessions
  • Create a stateful service

More internals of Axis2

  • Modules, phases, handlers
  • ClassLoader Hierarchy
  • Description and Context hierarchies
  • Building and testing a simple Logging Module

Advanced Web Services

  • Overview of the full WS-platform

Introduction to WS Security

  • Authentication
  • Signature
  • Encryption
  • Efficiency of WSS vs HTTPS
  • Mixing HTTPS and WSS
  • Securing a Web Service with WSS
  • 4J Tracing flows

Introduction to WS Reliable Messaging

  • Simple flows
  • Reliable WS with Sandesha22
  • Tracing flows

Introduction to WS-Policy and MetadataExchange

  • Why Policy
  • Policy overview and Policy Asserion Languages
  • How Policy fits into Axis2
  • Policy driven RM client

Other options

  • Tradeoffs / Best Practices
  • Interoperability issues
  • Production deployment issues / tips
  • Remote Procedure Call support
What You Can Expect

At the end of this course, students will be able to:

  • Understand SOAP, WSDL, and WS-Addressing.
  • Understand Service Oriented Architecture and how to build one using Axis2 and Java.
  • Better understand Web Services security and reliability.
  • Install and configure Apache Axis2.
  • Create and consume Web Services.
  • Generate Services and Clients using command line and IDE tools.
  • Make interactions secure and reliable.
  • Understand Axis2 architecture.
  • Understand all components/features of Axis2: AXIOM, Handlers, Phases, Policy, contexts.
  • Use Axis2 Ant tasks and IDE plug-ins.
  • Do Test Driven Development of Axis2 applications.
Who Should Take This Course

Developers with some understanding of web services technologies and Service Oriented Architecture concepts.

Recommended Prerequisites

To benefit from this Axis2 training, students should have a proficiency in Java and XML, as well as a basic knowledge of: SOAP, WSDL, Web Services, Service Oriented Architecture. General understanding of Web servers and some knowledge of TomCat and Spring.

Training Style

Lecture (50%) / Lab (50%)

« Hide The Details
Related Courses
Code Course Title Duration Level
Fundamentals of Java Development
5 Days
RESTful Web Services Development
5 Days
Development With Java's XML APIs
2 Days
Developing Java Web Services
5 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]