Axis 2 [Part 1]
Intro
The concept of Web service revolves around the three following acronyms:
- SOAP (Simple Object Access Protocol): this is a protocol for independent inter-application exchange of any platform. The exchange format is based on XML. In other words the use of SOAP service implements ASCII flux (in XML tags )and transported in the HTTP protocol.
- WSDL (Web Services Description Language) describes the XML Web services by specifying the methods that can be invoked, their signatures and the access point (URL, port, etc. ..). That, somehow, equivalent to the IDL for the CORBA distributed programming.
- UDDI (Universal Description, Discovery and Integration) normalizes a distributed directory solution.
Axis is a tool for creating and deploying web services, produced by the Apache Software Foundation. It is a free Java package that provides:
- an environment that can either function as an independent SOAP server or as a plug-in servlet engine (Tomcat),
- an API to develop web services SOAP,RPC or based on SOAP messages,
- support different transport layers: HTTP, FTP, SMTP, POP and IMAP ...
- serialization / deserialization of Java objects automatically in SOAP messages
- tools to automatically create the corresponding WSDL to Java classes or vice versa for creating Java classes based on WSDL.
- tools to deploy, test and monitor web-services.
Axis 2.0 is a completely redesigned tool, which aims to be more efficient, more modular and more XML-oriented than the previous version. A number of modules are being developed for security, transactions ...
Runtime
The structure of exchange between the Web service and client application can be represented as follows:
Axis2 : WSDL2Java
Axis allows the conversion of a WSDL file into a set of Java classes
- To represent the content of messages
- A complete skeleton class to implement the various operations
- Eventually the middle class that will handle the management of SOAP message (Stubs)
Axis2: Databinding framework ADB
Converting XMLto an object:
- Expanded mode (expanded mode)
- A class for each external component: Not nested in a complexType
- A class for each complexType named
- The mode that is systematically used by the compiler command line
- Wrapped Mode ( "Integrated" Mode)
- A class containing all classes representing XML documents to be processed
Axis versions
On the site of apache there is a standard binary distribution of Axis containing all jars needed at runtime and compiling of Axis and also the scripts allowing easy deployment of the application:
click here
Notes
Thanks to n00r for this tip.