Apache Axis2 Web Services, 2nd Edition

Apache Axis2 Web Services, 2nd Edition
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Extensive and detailed coverage of the enterprise ready Apache Axis2 Web Services / SOAP / WSDL engine.
  • Attain a more flexible and extensible framework with the world class Axis2 architecture.
  • Learn all about AXIOM - the complete XML processing framework, which you also can use outside Axis2.
  • Covers advanced topics like security, messaging, REST and asynchronous web services.
  • Written by Deepal Jayasinghe, a key architect and developer of the Apache Axis2 Web Service project; and Afkham Azeez, an elected ASF and PMC member.

Book Details

Language : English
Paperback : 308 pages [ 235mm x 191mm ]
Release Date : February 2011
ISBN : 184951156X
ISBN 13 : 9781849511568
Author(s) : Deepal Jayasinghe, Afkham Azeez
Topics and Technologies : All Books, Web Development, Open Source, Web Services

Table of Contents

Chapter 1: Apache Web Services and Axis2
Chapter 2: Looking inside Axis2
Chapter 3: Axis 2 XML Model (AXIOM)
Chapter 4: Execution Chain
Chapter 5: Deployment Model
Chapter 6: Information Model
Chapter 7: Writing an Axis2 Service
Chapter 8: Writing an Axis2 Module
Chapter 9: The Client API
Chapter 10: Session Management
Chapter 11: Developing JAX-WS Web Services
Chapter 12: Axis2 Clustering
Chapter 13: Enterprise Integration Patterns
Chapter 14: Axis2 Advanced Features and Usage
Chapter 15: Building a Secure Reliable Web Service
  • Chapter 1: Apache Web Services and Axis2
    • Service Oriented Architecture (SOA)
    • Web service overview
      • How do organizations move into web services?
    • Web services model
      • Web services standards
      • XML-RPC
      • SOAP
      • Web Services Addressing (WS-Addressing)
      • Service description
      • Web Services Description Language (WSDL)
    • Web services lifecycle
    • Apache Web Service stack
    • Why Axis2?
    • Downloading and installing Apache Axis2
      • Binary distribution
      • WAR distribution
      • Source distribution
      • Document distribution
      • JAR distribution
    • Summary
    • Chapter 2: Looking inside Axis2
      • Axis2 architecture
      • Core modules
        • XML processing model
        • SOAP processing model
        • Information model
        • Deployment model
        • Client API
        • Transports
      • Other modules
        • Code generation
        • Data binding
      • Extensible nature of Axis2
        • Service extension or the module
        • Custom deployers
        • Message receivers
      • Summary
      • Chapter 3: Axis 2 XML Model (AXIOM)
        • Overview of AXIOM and its features
          • What is pull parsing?
          • Architecture
        • Working with AXIOM
          • Creating Axiom
          • Creating Axiom from an input stream
          • Creating Axiom using a string
          • Creating Axiom programmatically
          • Adding child nodes and attributes
          • Working with OM namespaces
          • Working with attribute
          • Traversing the Axiom tree
          • Serialization
          • Advanced operations with Axiom
            • Xpath navigation
            • Accessing the pull parser
            • Axiom and SOAP
        • Summary
        • Chapter 4: Execution Chain
          • Handler
            • Writing a simple handler
          • Phase
            • Types of phases
              • Global phases
              • Operation phases
          • Phase rules
            • Characterizing a phase rule
              • Phase name
              • phaseFirst
              • phaseLast
              • before
              • after
              • after and before
            • Invalid phase rules
          • Flow
          • Module engagement and dynamic execution chain
            • Special handlers in the chain
              • Transport receiver
              • Dispatchers
              • Message receiver
              • Transport sender
          • Summary
          • Chapter 5: Deployment Model
            • What is new in Axis2 deployment?
            • Hot deployment and hot update
              • Hot deployment
              • Hot update
            • Repository
            • Change in the way of deploying handlers (modules)
            • Deployment descriptors
              • Global descriptor or axis2.xml
              • Service descriptor (services.xml)
              • Module descriptor or module.xml
              • Available deployment options
              • Archive-based deployment
              • Directory-based deployment
              • Deploying a service programmatically
              • POJO deployment
              • Deploying and running a service in one line
            • Summary
            • Chapter 6: Information Model
              • Axis2 static data
                • AxisConfiguration
                • Parameters
                • MessageReceiver
                • MessageFormatters and MessageBuilders
                • TransportReceiver and TransportSender
                • Flows and phaseOrder
                • AxisModule
              • Service description hierarchy
                • AxisServiceGroup
                • AxisService
                • AxisOperation
                • AxisMessage
              • Axis2 contexts
                • ConfigurationContext
                • ServiceGroupContext
                • ServiceContext
                • OperationContext
                • MessageContext
              • Summary
              • Chapter 7: Writing an Axis2 Service
                • Creating a web service
                • The code first approach
                  • Single class POJO approach
                  • POJOs with packages
                  • Deploying services using a service
                    • Writing the services.xml file
                    • Service implementation class
                    • Specifying the message receiver
                  • Creating a service archive file
                  • Different ways of specifying message receivers
                  • Service group and single service
                  • Adding third-party resources
                  • Service WSDL and schemas
                • Contract first approach – starting from the WSDL
                  • Generating code
                  • Filling in the service skeleton
                  • Running the ant build file
                • Summary
                • Chapter 8: Writing an Axis2 Module
                  • Brief history of the Axis2 module
                    • Module concept
                      • Module structure
                      • Module configuration file (module.xml)
                      • Handlers and phase rules
                      • Module implementation class
                    • Writing the module.xml file
                      • Deploying and engaging the module
                      • Advanced module.xml
                      • Parameters
                      • WS-Policy
                      • Endpoints
                  • Summary
                  • Chapter 9: The Client API
                    • Web service client
                      • Blocking and non-blocking invocation
                      • Looking into Axis2 client API
                        • ServiceClient API
                        • ServiceClient with working samples
                      • Working with the OperationClient
                    • Summary
                    • Chapter 10: Session Management
                      • Stateless nature of Axis2
                      • The available type of sessions in Axis2
                      • Session initializing and session invalidating
                        • Java reflection
                        • Using the optional interface
                        • Accessing MessageContext
                      • Request session scope
                      • SOAP session scope
                      • Transport session scope
                        • Option 1: Using the browser
                        • Option 2: Using the service client
                      • Application scope
                        • Managing sessions using ServiceClient
                      • Summary
                      • Chapter 11: Developing JAX-WS Web Services
                        • Writing a simple JAX-WS web service
                        • JAX-WS annotations
                          • JSR 181 (Web Service Metadata) annotations
                            • javax.jws.WebService
                            • javax.jws.WebMethod
                            • javax.jws.OneWay
                            • javax.jws.WebParam
                            • name
                            • targetNamespace
                            • mode
                            • header
                            • partName
                            • javax.jws.WebResult
                            • javax.jws.soap.SOAPBinding
                        • JSR 224 (JAX-WS) annotations
                          • javax.xml.ws.BindingType
                          • javax.xml.ws.RequestWrapper and javax.xml.ws.ResponseWrapper
                          • javax.xml.ws.ServiceMode
                          • javax.xml.ws.WebEndpoint
                          • javax.xml.ws.WebFault
                          • javax.xml.ws.WebServiceClient
                          • javax.xml.ws.WebServiceProvider
                          • javax.xml.ws.WebServiceRef
                      • JSR 222 (JAXB) annotations
                        • javax.xml.bind.annotation.XmlRootElement
                          • namespace
                          • name
                        • javax.xml.bind.annotation.XmlAccessorType
                        • javax.xml.bind.annotation.XmlElement
                          • name
                          • namespace
                      • JSR 250 (Common Annotations)
                        • javax.annotation.Resource
                        • javax.annotation.PostConstruct
                        • javax.annotation.PreDestroy
                      • Code first service development with JAX-WS
                      • Contract first development with JAX-WS
                        • Client-side JAX-WS
                          • The Dispatch client
                          • The Dynamic Proxy client
                        • MTOM with JAX-WS Services
                        • Asynchronous invocation of JAX-WS services
                          • Polling model
                          • Callback model
                      • Summary
                        • Chapter 12: Axis2 Clustering
                          • Setting up a simple Axis2 cluster
                          • Writing a highly available clusterable web service
                          • Stateless Axis2 Web Services
                          • Setting up a failover cluster
                          • Increasing horizontal scalability
                          • Setting up and configuring Axis2 clusters in production
                            • Clustering agent
                            • Clustering agent parameters
                              • AvoidInitiation
                              • membershipScheme
                              • domain
                              • synchronizeAll
                              • maxRetries
                              • mcastAddress
                              • mcastPort
                              • mcastFrequency
                              • memberDropTime
                              • mcastBindAddress
                              • localMemberHost
                              • localMemberPort
                              • preserveMessageOrder
                              • atmostOnceMessageSemantics
                              • properties
                            • State management
                            • Node management
                            • Group management
                            • Static members
                            • Full configuration
                          • Membership schemes
                            • Static membership
                            • Dynamic membership
                            • Hybrid membership
                          • Cluster management
                          • Highly available load balancing
                          • The Axis2 clustering management API
                            • org.apache.axis2.clustering.ClusteringAgent
                            • org.apache.axis2.clustering.state.StateManager
                            • org.apache.axis2.clustering.management.NodeManager
                            • org.apache.axis2.clustering.management.GroupManagementAgent
                          • Summary
                          • Chapter 13: Enterprise Integration Patterns
                            • Apache Synapse
                            • WSO2 ESB
                            • OpenESB
                            • Protocol bridging
                            • External authentication and authorization
                            • Dynamic routing combined with auditing
                            • Event Driven Architecture (EDA) with Master Data Management (MDM) for Integrating Legacy Systems
                              • Event Driven Architecture (EDA)
                              • Master Data Management (MDM)
                              • Adaptor layer
                              • Integration server
                              • Logic server
                              • Registry
                            • Push and pull
                            • Fault tolerant autoscaling with dynamic load balancing
                            • References
                            • Summary
                            • Chapter 14: Axis2 Advanced Features and Usage
                              • Representational State Transfer (REST)
                                • Features of REST
                                • REST services in Axis2
                                  • REST web service with GET and POST
                              • Message Transmission Optimization Mechanism (MTOM)
                                • By value
                                • By reference
                                • MTOM on the client side
                                • MTOM on the service side
                              • Axis2 configurator
                              • Deploying Axis2 in various application servers
                              • Asynchronous web services with Axis2
                                • Client side asynchronous
                                • Application-level asynchronous support
                                • Transports-level asynchronous support
                              • Summary
                              • Chapter 15: Building a Secure Reliable Web Service
                                • Reliable web services
                                  • Sample service
                                  • One way invocation
                                  • Request-reply invocation
                                • Managing sequences
                                  • Creating a sequence without sending a message
                                  • Terminate a sequence
                                • Secure web services
                                  • Sample service
                                  • Writing the password callback
                                • Creating the policy element
                                  • Generating client stubs
                                  • Invoking the service without security
                                  • Invoking the service with security
                              • Summary

                                Deepal Jayasinghe

                                Deepal Jayasinghe is a Computer Science PhD student at Georgia Institute of Technology and he is affiliated with Center for Experimental Research in Computer Systems.  Prior to joining Georgia Tech, he was a Technical Lead at WSO2 Inc., an open-source software development company that creates middleware platforms for Web services.  Deepal has over 6 years of experiences with SOA and Web services in addition to being a contributing member of Apache Axis2 project since its inception.  He is a key architect and developer of the Apache Axis2 Web service project and has led a number of releases. In addition to Axis2, he has made major contributions to the Apache Synapse, Apache Axiom and Apache XMLSchema projects. Deepal has written more than 30 technical magazine articles, research papers and has delivered speeches in various SOA and Web Services conferences. He is an Apache Member and PMC members at several Apache projects. His expertise lay mainly in distributed computing, SOA and Web services, Cloud computing, and performance analysis.  Deepal holds a B.Sc. Engineering degree from the University of Moratuwa, Sri Lanka.

                                He is reachable at deepalk@gmail.com.

                                Afkham Azeez

                                 Afkham Azeez  is a Member, Project Management Committee (PMC) member & a committer of the Apache Sotware Foundation.  He works as a Senior Software Architect & Senior Manager, Platform as a Service, at WSO2 Inc. His specializations include distributed computing, Cloud computing, SOA & J2EE technologies. He is a long time Open source contributor and is the author of the clustering implementation for Apache Axis2. Azeez holds a Masters degree in Computer Science specializing in Software Architecture & B.Sc. first class honors degree in Computer Science & Engineering from the University of Moratuwa, Sri Lanka.  He is a regular presenter at many Open Source conferences including the Apache Conferences.

                                Azeez is a petrolhead and an active member of the AutoLanka forum. He enjoys a game of basketball and also loves spending time with his 3 kids.

                                Sorry, we don't have any reviews for this title yet.

                                Code Downloads

                                Download the code and support files for this book.

                                Submit Errata

                                Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                                Sample chapters

                                You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                                Frequently bought together

                                Apache Axis2 Web Services, 2nd Edition +    Apache Solr 3.1 Cookbook =
                                50% Off
                                the second eBook
                                Price for both: $34.95

                                Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                                What you will learn from this book

                                • Learn SOA Integration Patterns
                                • Learn advanced topics such as security, messaging, REST, clustering, and asynchronous web services
                                • Enable SOA functionality in your organization
                                • Handle Handlers in Axis2 and learn to write your own
                                • Learn how to develop web services using JAXWS
                                • Learn everything about deployers, deployer descriptors and how to create your own custom deployers.
                                • Write, deploy, and engage a module
                                • Use Axis2 as a client and invoke services in a number of different ways
                                • Use AXIOM it to handle SOAP, and learn AXIOM best practices
                                • Different types of sessions available in Axis2 and how they work.


                                In Detail

                                Web services are gaining popularity and have become one of the major techniques for application integration. Due to the flexibility and advantages of using web services, you want to enable Web service support to your applications. This book is your gateway to learning all you need to know about the Apache Axis2 web service framework and its hands on implementation.

                                Apache Axis2 Web Services, 2nd Edition is your comprehensive guide to implementing this incredibly powerful framework in practice. It gives you precisely what you need to know to develop a detailed practical understanding of this popular, modular and reliable web service framework.

                                This book starts with a short and relevant introduction about the Axis2 1.5 framework and then plunges you straight into its architectural model.

                                Learn to use and develop your own modules. Write a services.xml file so efficiently that you'll be creating more complex applications (rather than just POJOs) in no time.

                                Learn how straightforward it really is to turn a Java class into a web service in Axis2. Experiment with different types of sessions in Axis2. Learn different patterns of Enterprise deployment. Ensure reliability in your web service - a major concern in most enterprise applications - with minimum impact on performance.

                                This book will journey you through all this and more, giving you exactly what you need to learn Axis2 1.5 in the easiest way possible and create secure, reliable, and easy-to-use web services efficiently and systematically.


                                This is a step by step practical guide for developing web services using Apache Axis2. There are a lot of real-life examples, which makes this book an excellent practical guide.

                                Who this book is for

                                This book is for Java developers who are interested in building web services using Apache Axis2. Familiarity with web standards like SOAP, WSDL and XML parsing is assumed.

                                Code Download and Errata
                                Packt Anytime, Anywhere
                                Register Books
                                Print Upgrades
                                eBook Downloads
                                Video Support
                                Contact Us
                                Awards Voting Nominations Previous Winners
                                Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                                Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software