You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2006/12/19 11:35:54 UTC
svn commit: r488617 - in /webservices/axis2/trunk/java/xdocs:
1_1/contents.html 1_1/modules.html faq.html
Author: chatra
Date: Tue Dec 19 02:35:53 2006
New Revision: 488617
URL: http://svn.apache.org/viewvc?view=rev&rev=488617
Log:
added infor on new user's guide. Content on the new user's guide is still incomplete on contents.html
Modified:
webservices/axis2/trunk/java/xdocs/1_1/contents.html
webservices/axis2/trunk/java/xdocs/1_1/modules.html
webservices/axis2/trunk/java/xdocs/faq.html
Modified: webservices/axis2/trunk/java/xdocs/1_1/contents.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/contents.html?view=diff&rev=488617&r1=488616&r2=488617
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/contents.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/contents.html Tue Dec 19 02:35:53 2006
@@ -1,183 +1,232 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
- <title>Axis2/Java 1.1 Documentation Home</title>
- <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body lang="en">
-<h1>Apache Axis2/Java Version 1.1 Documentation Index</h1>
-
-<h2>Introduction</h2>
-
-<p>Apache Axis2, the third generation Web services engine is more efficient,
-more modular and more XML-oriented than its predecessor <a
-href="http://ws.apache.org/axis/">Apache Axis</a>. It is carefully designed
-to support the easy addition of plug-in "modules" that extend its
-functionality for features such as security and reliability.</p>
-
-<p>Apache Axis2 Version 1.1 comes to you with better Axis2 Databinding
-Framework (ADB) support, <a
-href="http://www.w3.org/TR/SOAP-attachments">attachments API</a>, Spring and
-complete support for SOAP with Attachments (SwA).</p>
-
-<p>This page will take you through the list of documents we have in store for
-you.</p>
-
-<h2>Apache Axis2 User's Guide</h2>
-
-<p>You can get started with Axis2 with the assistance of the following
-documents. They will guide you through Axis2 download, installation both as a
-standalone Web services engine and as part of a J2EE compliant servlet
-container, not forgetting the instructions on how to write Web services and
-Web services client using Apache Axis2.</p>
-<ul>
- <li><a href="userguide.html#introduction">Introduction</a>- Outlines the
- overall direction of the User's guide itself, with a high level
- introduction on Axis2</li>
- <li><a href="installationguide.html">Download and Installation</a>-Will
- list the different distribution packages offered by Axis2, and
- installation methods for standalone and as part of a J2EE servlet
- container.</li>
- <li><a href="userguide.html#ws_codegen">Creating a new Web Service with
- Code Generation</a> -Axis2 provides two ways to create new Web Services,
- using code generation and using XML based primary APIs. This section
- explains how to start from a WSDL, and create a new Service with code
- generation</li>
- <li><a href="xmlbased-server.html">Writing Web Services Using Axis2's
- Primary APIs</a> -Explains how to create new Web Services using XML based
- primary API</li>
- <li><a href="userguide.html#client">Writing a Web Service Client with Code
- Generation </a>-Axis2 also provides a more complex, yet powerful XML
- based client API which is intended for advanced users. However, if you
- are a new user we recommend using the code generation approach presented
- below</li>
- <li><a href="dii.html">Writing Web Service Clients Using Axis2's Primary
- APIs</a>- This section presents complex yet powerful XML based client API
- which is intended for advanced users to write Web services clients</li>
- <li><a href="userguide.html#config">Configuring Axis2</a>-Axis2
- configuration is based on a repository and standard archives formats.
- Here you will find details on how to configure Axis2. You will also find
- reference documents that lead to greater detail in this area.</li>
- <li><a href="pojoguide.html">POJO Web Services using Apache Axis2</a>-This guide will show you how to create a Plain Old Java Object (POJO) to deploy using Apache Axis2 on Apache Tomcat. POJOs are fast to build and easy to maintain, meaning you'll save a lot of time building and debugging your code</li>
- <li><a href="quickstartguide.html">Axis2 Quick Start Guide</a>-The purpose of this guide is to get you started creating services and clients using Axis2 as quickly as possible. It demonstrates how to create Web services using a variety of different technologies.</</li>
-</ul>
-Also see our <a href="../faq.html">FAQ page</a> to answer those common
-questions in mind.
-
-<h2>How Tos</h2>
-
-<p>This section of documents will deal with more advanced topics including
-Axis2 support features such as Transports, Attachments, Pluggable Data
-Binding, Security, REST Web services on a detailed manner.</p>
-<ul>
- <li><a href="webadminguide.html">Web Administrator's Guide</a>- Detailed
- instructions on administration console of Axis2 Web application, with the
- know how to configure Axis2 at run time.</li>
- <li><a href="migration.html">Migrating from Axis 1.x to Axis 2</a>-Guiding
- Axis 1.x users to switch to Axis2</li>
- <li><a href="app_server.html">Application Server Specific Configuration
- Guide</a>-Provides extra configuration information required for
- Application Servers to run Axis2 to its fullest potential</li>
- <li><a href="http://ws.apache.org/commons/axiom/OMTutorial.html">AXIOM
- Tutorial</a>-An introduction to Axis2's Object Model</li>
- <li><a href="rest-ws.html">REST Support</a>-Introduction on
- Representational State Transfer</li>
- <li><a href="Axis2-rpc-support.html">Axis2 RPC Support</a>-This documents
- talks about the Axis2's Remote Procedure Calls support in a set of easy
- to understand implementation steps</li>
- <li><a href="mtom-guide.html">MTOM Guide -Sending Binary Data with
- SOAP</a>-Describes sending binary data using SOAP Message Transmission
- Optimization Mechanism</li>
- <li><a href="axis2config.html">Axis2 Configuration Guide</a>-Explains the
- three configurations-global, service and module in Axis2</li>
- <li><a href="soapmonitor-module.html">SOAP Monitor How-to</a>-Guide on
- utility used to see SOAP messages being used to invoke Web services along
- with the results of those messages.</li>
- <li><a href="WS_policy.html">Web Services Policy Support In
- Axis2</a>-Introduction to the role of Web services policy in Axis2</li>
- <li><a href="spring.html">Spring Framework</a>-Guide on how to use Axis2
- with the Spring Framework</li>
-</ul>
-
-<p><strong>Data Bindings:</strong></p>
-<ul>
- <li><a href="adb/adb-howto.html">ADB How-to</a> -Guide on Axis2 Databinding
- Framework (ADB)</li>
- <li><a href="adb/adb-advanced.html">Advanced ADB Framework Features</a>-The
- document provides an insight into the newly added advance features of
- ADB</li>
- <li><a href="adb/adb-tweaking.html">Tweaking the ADB Code
- Generator</a>-Explains available mechanisms to extend ADB</li>
- <li><a href="adb/adb-codegen-integration.html">ADB Integration with
- Axis2</a>-Guide to writing an extension using the integrator in order to
- integrate ADB with Axis2</li>
- <li><a href="jibx/jibx-codegen-integration.html">JiBX Integration With
- Axis2</a>-Guide to using JiBX with Axis2 in order to expose existing Java
- code as a Web service and to implement a client for an existing Web
- service</li>
-</ul>
-
-<p><strong>Transports:</strong></p>
-<ul>
- <li><a href="tcp-transport.html">TCP Transport</a>- Guide to send and
- receive SOAP Messages via TCP in Axis2</li>
- <li><a href="mail-transport.html">Mail Transport</a>-Explains how to invoke
- a service using a Mail transport</li>
- <li><a href="mail-configuration.html">Mail Transport
- Configuration</a>-Guide to configure Axis2 in order to get mail transport
- working</li>
- <li><a>HTTP Transports</a>-Description on HTTP sender and HTTP receiver in
- Axis2</li>
- <li><a href="jms-transport.html">JMS Transport</a>-Description on JMS
- sender and JMS receiver in Axis2</li>
- <li><a href="transport_howto.html">Write Your Own Axis2 Transport</a>-Quick
- and easy guide to create your own Axis2 Transport protocol</li>
-</ul>
-
-<p><strong>Axis2 Tools:</strong></p>
-<ul>
- <li><a href="../tools/1_1/CodegenToolReference.html">Code Generator Tool Guide for Command Line & Ant Task</a>-Lists command
- line & Ant task references. How to build file using custom Ant task
- and invoking Code Generator from Ant</li>
- <li><a href="../tools/1_1/eclipse/wsdl2java-plugin.html">Code Generator
- Wizard Guide for Eclipse Plug-in</a>-Explains the usage of the code generator
- eclipse plug-in for WSDL2Java and/or Java2WSDL operations</li>
- <li><a href="../tools/1_1/eclipse/servicearchiver-plugin.html">Service
- Archive Generator Wizard Guide for Eclipse Plug-in</a>- Describes functionality
- of eclipse plugin service archive generator tool</li>
- <li><a href="../tools/1_1/idea/Idea_plug-in_userguide.html">Code Generator
- Wizard Guide for IntelliJ IDEA Plug-in</a>- Guide on the usage of IDEA code
- generation plug-in to create service archives and generate java class
- files from WSDL files</li>
- <li><a href="../tools/1_1/maven-plugins/maven-aar-plugin.html">Maven2 AAR Plug-in Guide</a> - Guid to generate an Axis 2 service file (AAR file) using the maven plug-in.</li>
-<li><a href="../tools/1_1/maven-plugins/maven-java2wsdl-plugin.html">Maven2 Java2WSDL Plug-in Guide</a> - Guide to using Java2WSDL Maven 2 Plug-in that takes as input a Java class and generates a WSDL, which describes a Web service for invoking the classes methods</li>
-<li><a href="../tools/1_1/maven-plugins/maven-wsdl2code-plugin.html">Maven2 WSDL2Code Plug-in Guide</a> - Guide to using this plugin that takes as input a WSDL and generates client and server stubs for calling or implementing a Web service matching the WSDL.</li>
-</ul>
-
-<h2>Apache Axis2 Developers</h2>
-<ul>
- <li><a href="Axis2ArchitectureGuide.html">Axis2 Architecture
- Guide</a>-Introduction to Axis2's modular architecture</li>
- <!--<li><a href="api/index.html">Online Java Docs</a>-Java API
- documentation</li>-->
- <li><a href="http://ws.apache.org/axis2/1_1/api/index.html">Online Java
- Docs</a>-Java API documentation</li>
- <!--<li><a href="advance-userguide.html">Advanced User Guide</a>- This is a
- quick start guide for more experienced users and developers on how to
- install, create Web services and Web service clients using Axis2.</li>-->
- <li><a href="../refLib.html">Reference Library</a>-This document provides
- additional information to developers on WS-* specifications, Java
- language specifications, Subversion (SVN) control etc.</li>
-</ul>
-
-<h2>References</h2>
-
-<p>Gives you a list of published articles, tutorials and Questions-Answers on
-Apache Axis2. <a href="../articles.html">Check them out!</a> for that extra
-knowledge on the next generation Web services engine Apache Axis2. Be
-Informed and up to date!</p>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Axis2/Java 1.1 Documentation Home</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+ media="all">
+</head>
+
+<body lang="en">
+<h1>Apache Axis2/Java Version 1.1 Documentation Index</h1>
+
+<h2>Introduction</h2>
+
+<p>Apache Axis2, the third generation Web services engine is more efficient,
+more modular and more XML-oriented than its predecessor <a
+href="http://ws.apache.org/axis/">Apache Axis</a>. It is carefully designed
+to support the easy addition of plug-in "modules" that extend its
+functionality for features such as security and reliability.</p>
+
+<p>Apache Axis2 Version 1.1 comes to you with better Axis2 Databinding
+Framework (ADB) support, <a
+href="http://www.w3.org/TR/SOAP-attachments">attachments API</a>, Spring and
+complete support for SOAP with Attachments (SwA).</p>
+
+<p>This page will take you through the list of documents we have in store for
+you.</p>
+
+<h2>Apache Axis2 User's Guide</h2>
+
+<p>You can get started with Axis2 with the assistance of the following
+documents. They will guide you through Axis2 download, installation both as a
+standalone Web services engine and as part of a J2EE compliant servlet
+container, not forgetting the instructions on how to write Web services and
+Web services client using Apache Axis2.</p>
+<ul>
+ <li><a href="userguide.html#intro">Introduction</a>- Outlines the overall
+ direction of the User's guide itself, with a high level introduction on
+ Axis2</li>
+ <li><a href="installationguide.html">Download and Installation</a>-Will
+ list the different distribution packages offered by Axis2, and
+ installation methods for standalone and as part of a J2EE servlet
+ container.</li>
+ <!--<li><a href="userguide.html#ws_codegen">Creating a new Web Service with
+ Code Generation</a> -Axis2 provides two ways to create new Web Services,
+ using code generation and using XML based primary APIs. This section
+ explains how to start from a WSDL, and create a new Service with code
+ generation</li>
+ <li><a href="xmlbased-server.html">Writing Web Services Using Axis2's
+ Primary APIs</a> -Explains how to create new Web Services using XML based
+ primary API</li>
+ <li><a href="userguide.html#client">Writing a Web Service Client with Code
+ Generation </a>-Axis2 also provides a more complex, yet powerful XML
+ based client API which is intended for advanced users. However, if you
+ are a new user we recommend using the code generation approach presented
+ below</li>
+ <li><a href="dii.html">Writing Web Service Clients Using Axis2's Primary
+ APIs</a>- This section presents complex yet powerful XML based client API
+ which is intended for advanced users to write Web services clients</li>
+ <li><a href="userguide.html#config">Configuring Axis2</a>-Axis2
+ configuration is based on a repository and standard archives formats.
+ Here you will find details on how to configure Axis2. You will also find
+ reference documents that lead to greater detail in this area.</li>-->
+ <li><a href="pojoguide.html">POJO Web Services using Apache Axis2</a>-This
+ guide will show you how to create a Plain Old Java Object (POJO) to
+ deploy using Apache Axis2 on Apache Tomcat. POJOs are fast to build and
+ easy to maintain, meaning you'll save a lot of time building and
+ debugging your code</li>
+ <li><a href="quickstartguide.html">Axis2 Quick Start Guide</a>-The purpose
+ of this guide is to get you started creating services and clients using
+ Axis2 as quickly as possible. It demonstrates how to create Web services
+ using a variety of different technologies.</></li>
+</ul>
+Also see our <a href="../faq.html">FAQ page</a> to answer those common
+questions in mind.
+
+<h2>How Tos</h2>
+
+<p>This section of documents will deal with more advanced topics including
+Axis2 support features such as Transports, Attachments, Pluggable Data
+Binding, Security, REST Web services on a detailed manner.</p>
+<ul>
+ <li><a href="webadminguide.html">Web Administrator's Guide</a>- Detailed
+ instructions on administration console of Axis2 Web application, with the
+ know how to configure Axis2 at run time.</li>
+ <li><a href="migration.html">Migrating from Axis 1.x to Axis 2</a>-Guiding
+ Axis 1.x users to switch to Axis2</li>
+ <li><a href="app_server.html">Application Server Specific Configuration
+ Guide</a>-Provides extra configuration information required for
+ Application Servers to run Axis2 to its fullest potential</li>
+ <li><a href="http://ws.apache.org/commons/axiom/OMTutorial.html">AXIOM
+ Tutorial</a>-An introduction to Axis2's Object Model</li>
+ <li><a href="rest-ws.html">REST Support</a>-Introduction on
+ Representational State Transfer</li>
+ <li><a href="Axis2-rpc-support.html">Axis2 RPC Support</a>-This documents
+ talks about the Axis2's Remote Procedure Calls support in a set of easy
+ to understand implementation steps</li>
+ <li><a href="mtom-guide.html">MTOM Guide -Sending Binary Data with
+ SOAP</a>-Describes sending binary data using SOAP Message Transmission
+ Optimization Mechanism</li>
+ <li><a href="axis2config.html">Axis2 Configuration Guide</a>-Explains the
+ three configurations-global, service and module in Axis2</li>
+ <li><a href="soapmonitor-module.html">SOAP Monitor How-to</a>-Guide on
+ utility used to see SOAP messages being used to invoke Web services along
+ with the results of those messages.</li>
+ <li><a href="WS_policy.html">Web Services Policy Support In
+ Axis2</a>-Introduction to the role of Web services policy in Axis2</li>
+ <li><a href="spring.html">Spring Framework</a>-Guide on how to use Axis2
+ with the Spring Framework</li>
+</ul>
+
+<p><strong>Data Bindings:</strong></p>
+<ul>
+ <li><a href="adb/adb-howto.html">ADB How-to</a> -Guide on Axis2 Databinding
+ Framework (ADB)</li>
+ <li><a href="adb/adb-advanced.html">Advanced ADB Framework Features</a>-The
+ document provides an insight into the newly added advance features of
+ ADB</li>
+ <li><a href="adb/adb-tweaking.html">Tweaking the ADB Code
+ Generator</a>-Explains available mechanisms to extend ADB</li>
+ <li><a href="adb/adb-codegen-integration.html">ADB Integration with
+ Axis2</a>-Guide to writing an extension using the integrator in order to
+ integrate ADB with Axis2</li>
+ <li><a href="jibx/jibx-codegen-integration.html">JiBX Integration With
+ Axis2</a>-Guide to using JiBX with Axis2 in order to expose existing Java
+ code as a Web service and to implement a client for an existing Web
+ service</li>
+</ul>
+
+<p><strong>Transports:</strong></p>
+<ul>
+ <li><a href="tcp-transport.html">TCP Transport</a>- Guide to send and
+ receive SOAP Messages via TCP in Axis2</li>
+ <li><a href="mail-transport.html">Mail Transport</a>-Explains how to invoke
+ a service using a Mail transport</li>
+ <li><a href="mail-configuration.html">Mail Transport
+ Configuration</a>-Guide to configure Axis2 in order to get mail transport
+ working</li>
+ <li><a>HTTP Transports</a>-Description on HTTP sender and HTTP receiver in
+ Axis2</li>
+ <li><a href="jms-transport.html">JMS Transport</a>-Description on JMS
+ sender and JMS receiver in Axis2</li>
+ <li><a href="transport_howto.html">Write Your Own Axis2 Transport</a>-Quick
+ and easy guide to create your own Axis2 Transport protocol</li>
+</ul>
+
+<p><strong>Axis2 Tools:</strong></p>
+<ul>
+ <li><a href="../tools/1_1/CodegenToolReference.html">Code Generator Tool
+ Guide for Command Line & Ant Task</a>-Lists command line & Ant
+ task references. How to build file using custom Ant task and invoking
+ Code Generator from Ant</li>
+ <li><a href="../tools/1_1/eclipse/wsdl2java-plugin.html">Code Generator
+ Wizard Guide for Eclipse Plug-in</a>-Explains the usage of the code
+ generator eclipse plug-in for WSDL2Java and/or Java2WSDL operations</li>
+ <li><a href="../tools/1_1/eclipse/servicearchiver-plugin.html">Service
+ Archive Generator Wizard Guide for Eclipse Plug-in</a>- Describes
+ functionality of eclipse plugin service archive generator tool</li>
+ <li><a href="../tools/1_1/idea/Idea_plug-in_userguide.html">Code Generator
+ Wizard Guide for IntelliJ IDEA Plug-in</a>- Guide on the usage of IDEA
+ code generation plug-in to create service archives and generate java
+ class files from WSDL files</li>
+ <li><a href="../tools/1_1/maven-plugins/maven-aar-plugin.html">Maven2 AAR
+ Plug-in Guide</a> - Guid to generate an Axis 2 service file (AAR file)
+ using the maven plug-in.</li>
+ <li><a href="../tools/1_1/maven-plugins/maven-java2wsdl-plugin.html">Maven2
+ Java2WSDL Plug-in Guide</a> - Guide to using Java2WSDL Maven 2 Plug-in
+ that takes as input a Java class and generates a WSDL, which describes a
+ Web service for invoking the classes methods</li>
+ <li><a href="../tools/1_1/maven-plugins/maven-wsdl2code-plugin.html">Maven2
+ WSDL2Code Plug-in Guide</a> - Guide to using this plugin that takes as
+ input a WSDL and generates client and server stubs for calling or
+ implementing a Web service matching the WSDL.</li>
+</ul>
+
+<h2>Apache Axis2 Developers</h2>
+<ul>
+ <li><a href="adv-userguide.html">Advance User's Guide</a>- This is a quick
+ start user's guide for more experienced users and developers on how to
+ install, create Web services and Web service clients using Axis2.
+ <ul>
+ <li><a href="adv-userguide.html#introduction">Introduction</a>-
+ Outlines the overall direction of the User's guide itself, with a
+ high level introduction on Axis2</li>
+ <li><a href="installationguide.html">Download and Installation</a>-Will
+ list the different distribution packages offered by Axis2, and
+ installation methods for standalone and as part of a J2EE servlet
+ container.</li>
+ <li><a href="adv-userguide.html#ws_codegen">Creating a new Web Service
+ with Code Generation</a> -Axis2 provides two ways to create new Web
+ Services, using code generation and using XML based primary APIs.
+ This section explains how to start from a WSDL, and create a new
+ Service with code generation</li>
+ <li><a href="xmlbased-server.html">Writing Web Services Using Axis2's
+ Primary APIs</a> -Explains how to create new Web Services using XML
+ based primary API</li>
+ <li><a href="adv-userguide.html#client">Writing a Web Service Client
+ with Code Generation </a>-Axis2 also provides a more complex, yet
+ powerful XML based client API which is intended for advanced users.
+ However, if you are a new user we recommend using the code generation
+ approach presented below</li>
+ <li><a href="dii.html">Writing Web Service Clients Using Axis2's
+ Primary APIs</a>- This section presents complex yet powerful XML
+ based client API which is intended for advanced users to write Web
+ services clients</li>
+ <li><a href="adv-userguide.html#config">Configuring Axis2</a>-Axis2
+ configuration is based on a repository and standard archives formats.
+ Here you will find details on how to configure Axis2. You will also
+ find reference documents that lead to greater detail in this
+ area.</li>
+ </ul>
+ </li>
+ <li><a href="Axis2ArchitectureGuide.html">Axis2 Architecture
+ Guide</a>-Introduction to Axis2's modular architecture</li>
+ <!--<li><a href="api/index.html">Online Java Docs</a>-Java API
+ documentation</li>-->
+ <li><a href="http://ws.apache.org/axis2/1_1/api/index.html">Online Java
+ Docs</a>-Java API documentation</li>
+ <li><a href="../refLib.html">Reference Library</a>-This document provides
+ additional information to developers on WS-* specifications, Java
+ language specifications, Subversion (SVN) control etc.</li>
+</ul>
+
+<h2>References</h2>
+
+<p>Gives you a list of published articles, tutorials and Questions-Answers on
+Apache Axis2. <a href="../articles.html">Check them out!</a> for that extra
+knowledge on the next generation Web services engine Apache Axis2. Be
+Informed and up to date!</p>
+</body>
+</html>
Modified: webservices/axis2/trunk/java/xdocs/1_1/modules.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/modules.html?view=diff&rev=488617&r1=488616&r2=488617
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/modules.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/modules.html Tue Dec 19 02:35:53 2006
@@ -1,354 +1,354 @@
-<html>
-<head>
- <meta http-equiv="content-type" content="">
- <title>Writing your Own Axis2 Module</title>
- <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body dir="ltr" lang="en-US">
-
-<a name="Modules"></a>
-<h1></a>Writing your Own Axis2 Module</h1>
-
-<p>Axis2 provides extended support for modules (See <a
-href="Axis2ArchitectureGuide.html" target="_blank">Architecture Guide</a> for
-more details about modules in Axis2). Let's create a custom module and deploy
-it to MyService which we created earlier.</p>
-
-<p><i>Send your feedback or questions to: <a
-href="mailto:axis-dev@ws.apache.org">axis-dev@ws.apache.org</a></i>. Prefix
-subject with [Axis2]. To subscribe to mailing list see <a
-href="http://ws.apache.org/axis2/mail-lists.html">here.</a></p>
-
-<h2>Content List</h2>
-<ul>
- <li><a href="#MyService_with_a_Logging_Module">MyService with a Logging Module</a></li>
- <ul>
- <li><a href="#Step1_:_LoggingModule_Class">Step1 : LoggingModule Class</a></li>
- <li><a href="#Step2_:_LogHandler">Step2 : LogHandler</a></li>
- <li><a href="#Step3_:_module_xml">Step3 : module.xml</a></li>
- <li><a href="#Step_4:_Modify_the_"axis2_xml"">Step 4: Modify the "axis2.xml"</a></li>
- <li><a href="#Step5_:_Modify_the_"services_xml"">Step5 : Modify the "services.xml</a></li>
- <li><a href="#Step6_:_Packaging">Step6 : Packaging</a></li>
- <li><a href="#Step7_:_Deploy_the_Module_in_Axis2">Step7 : Deploy the Module in Axis2</a></li>
- </ul>
-</ul>
-
-
-<p>Following steps show the actions that need to be performed to deploy a
-custom module for a given Web service:</p>
-<ol>
- <li><p style="margin-bottom: 0in">Create the Module Implementation</p>
- </li>
- <li><p style="margin-bottom: 0in">Create the Handlers</p>
- </li>
- <li><p style="margin-bottom: 0in">Create the module.xml</p>
- </li>
- <li><p style="margin-bottom: 0in">Modify the "axis2.xml" (if you need
- custom phases)</p>
- </li>
- <li><p style="margin-bottom: 0in">Modify the "services.xml" to engage
- modules at the deployment time.</p>
- </li>
- <li><p style="margin-bottom: 0in">Package in a ".mar" (Module Archive)</p>
- </li>
- <li><p>Deploy the module in Axis2</p>
- </li>
-</ol>
-
-<a name="MyService_with_a_Logging_Module"></a>
-<h3>MyService with a Logging Module</h3>
-
-<p>Let's write a simple logging module for our sample located at
-<b>"samples\userguide\src"</b> directory of the binary distribution. This
-module contains one handler that just logs the message that is passed through
-it. Axis2 uses ".mar" (Module Archive) to deploy modules in Axis2. Following
-diagram shows the file structure inside which needs to be there in the ".mar"
-archive. Let's create all these and see how it works.</p>
-
-<p><img src="images/userguide/ModuleView.jpg" name="Graphic5" align="bottom"
-border="0"></p>
-
-<a name="Step1_:_LoggingModule_Class"></a>
-<h4>Step1 : LoggingModule Class</h4>
-
-<p>LoggingModule is the implementation class of the Axis2 module. Axis2
-modules should implement the "<a
-href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/modules/Module.java?rev=396785&view=log">org.apache.axis2.modules.Module</a>"
-interface with the following methods.</p>
-<pre>public void init(ConfigurationContext configContext, AxisModule module) throws AxisFault;//Initialize the module
-public void shutdown(ConfigurationContext configurationContext) throws AxisFault;//End of module processing
-public void engageNotify(AxisDescription axisDescription) throws AxisFault;
-public String[] getPolicyNamespaces() throws AxisFault;
-public void applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault ;
-public boolean canSupportAssertion(Assertion assertion) ;
-</pre>
-
-<p>Firt three methods can be used to control the module initialization and the
-termination , and the next three methods are used to perform policy related stuff
-With the input parameter AxisConfiguration, the user is provided
-with the complete configuration hierarchy. This can be used to fine-tune the
-module behavior by the module writers. For the simple logging service we can
-keep these methods blank in our implementation class.</p>
-
-<a name="Step2_:_LogHandler"></a>
-<h4>Step2 : LogHandler</h4>
-
-<p>A module in Axis2 can contain, one or more handlers that perform various
-SOAP header processing at different phases. (See<a
-href="Axis2ArchitectureGuide.html#incomingsoap" target="_blank"> Architecture
-Guide</a> for more information on phases). To write a handler one should
-implement <a
-href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/Handler.java?rev=357187&view=log">org.apache.axis2.engine.Handler</a>.
-But for convenience, <a
-href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/handlers/AbstractHandler.java?rev=396788&view=log">org.apache.axis2.handlers.AbstractHandler</a>
-provides an abstract implementation of the Handler interface.</p>
-
-<p>For the logging module we will write a handler with the following methods.
-"public void invoke(MessageContext ctx);" is the method that is called by
-Axis2 engine when the control is passed to the handler. "public void
-revoke(MessageContext ctx);" is called when the handlers are revoked by the
-Axis2 engine.</p>
-<pre>public class LogHandler extends AbstractHandler implements Handler {
- private static final Log log = LogFactory.getLog(LogHandler.class);
- private String name;
-
- public String getName() {
- return name;
- }
-
- public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {
- log.info(msgContext.getEnvelope().toString());
- return InvocationResponse.CONTINUE;
- }
-
- public void revoke(MessageContext msgContext) {
- log.info(msgContext.getEnvelope().toString());
- }
-
- public void setName(String name) {
- this.name = name;
- }
-}</pre>
-
-<a name="Step3_:_module_xml"></a>
-<h4>Step3 : module.xml</h4>
-
-<p>"module.xml" contains the deployment configurations for a particular
-module. It contains details such as Implementation class of the module (in
-this example it is the "LoggingModule" class and various handlers that will
-run in different phases). "module.xml" for the logging module will be as
-follows:</p>
-<pre><module name="logging" class="userguide.loggingmodule.LoggingModule ">
- <inflow>
- <handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler">
- <order phase="loggingPhase" />
- </handler>
- </inflow>
-
- <outflow>
- <handler name="OutFlowLogHandler" class="userguide.loggingmodule.LogHandler">
- <order phase="loggingPhase"/>
- </handler>
- </outflow>
-
- <Outfaultflow>
- <handler name="FaultOutFlowLogHandler" class="userguide.loggingmodule.LogHandler">
- <order phase="loggingPhase"/>
- </handler>
- </Outfaultflow>
-
- <INfaultflow>
- <handler name="FaultInFlowLogHandler" class="userguide.loggingmodule.LogHandler">
- <order phase="loggingPhase"/>
- </handler>
- </INfaultflow>
-</module></pre>
-
-<p>As you can see there are four flows defined in this "module.xml"</p>
-<ol>
- <li>inflow - Represents the handler chain that will run when a message is
- coming in. </li>
- <li><p style="margin-bottom: 0in">outflow - Represents the handler chain
- that will run when the message is going out. </p>
- </li>
- <li><p style="margin-bottom: 0in">Outfaultflow - Represents the handler
- chain that will run when there is a fault and the fault is going out</p>
- </li>
- <li><p>INfaultflow - Represents the handler chain that will run when there
- is a fault and the fault is coming in </p>
- </li>
-</ol>
-
-<p>Following set of tags describe the name of the handler, handler class and
-the phase in which this handler is going to run. "InFlowLogHandler" is the
-name given for the particular instance of this handler class. The value of
-class attribute is the actual implementation class for this handler. Since we
-are writing logging handler, we can reuse the same handler in all these
-phases. However this may not be the same for all the modules. "<order
-phase="loggingPhase" />" describes the phase in which this handler
-runs.</p>
-<pre><handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler">
-<order phase="loggingPhase" />
-</handler></pre>
-
-<p>To learn more about Phase rules, check out the article <a
-href="http://www.developer.com/java/web/article.php/3529321"
-target="_blank">Axis2 Execution Framework</a></p>
-
-<a name="Step_4:_Modify_the_"axis2_xml""></a>
-<h4>Step 4: Modify the "axis2.xml"</h4>
-
-<p>In this handler, the phase "loggingPhase", is defined by the module
-writer. It is not a pre-defined handler phase, hence the module writer should
-introduce it to the "axis2.xml" (NOT the services.xml) so that the Axis2
-engine knows where to place the handler in different "flows" ( inFlow,
-outFlow, etc.). Following xml lines show the respective changes made to the
-"axis2.xml" in order to deploy this logging module in the Axis2 engine. This
-is an extract of the phase section of "axis2.xml".</p>
-<pre><!-- ================================================= -->
-<!-- Phases -->
-<!-- ================================================= -->
-
-<phaseOrder type="inflow">
- <!-- System pre defined phases -->
- <phase name="TransportIn"/>
- <phase name="PreDispatch"/>
- <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
- <handler name="AddressingBasedDispatcher"
- class="org.apache.axis2.engine.AddressingBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="RequestURIBasedDispatcher"
- class="org.apache.axis2.engine.RequestURIBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPActionBasedDispatcher"
- class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPMessageBodyBasedDispatcher"
- class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
- <handler name="InstanceDispatcher"
- class="org.apache.axis2.engine.InstanceDispatcher">
- <order phase="PostDispatch"/>
- </handler>
- </phase>
- <!-- System pre defined phases -->
- <!-- After Postdispatch phase module author or service author can add any phase he wants -->
- <phase name="OperationInPhase"/>
- <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
- </phaseOrder>
- <phaseOrder type="outflow">
- <!-- user can add his own phases to this area -->
- <phase name="OperationOutPhase"/>
- <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
- <!--system predefined phases-->
- <!--these phases will run irrespective of the service-->
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- </phaseOrder/>
- <phaseOrder type="INfaultflow">
- <!-- user can add his own phases to this area -->
- <phase name="OperationInFaultPhase"/>
- <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
- </phaseOrder>
- <phaseOrder type="Outfaultflow">
- <!-- user can add his own phases to this area -->
- <phase name="OperationOutFaultPhase"/>
- <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- </phaseOrder>
- </pre>
-
-<p>The text in green, the custom phase "loggingPhase" is placed in all the
-flows, hence that phase will be called in all the message flows in the
-engine. Since our module is associated with this phase, the LogHandler inside
-the module will now be executed in this phase.</p>
-
-<a name="Step5_:_Modify_the_"services_xml""></a>
-<h4>Step5 : Modify the "services.xml"</h4>
-
-<p>Up to this point we have created the required classes and configuration
-descriptions for the logging module and by changing the "axis2.xml" we have
-created the required phases for the logging module.</p>
-
-<p>Next step is to "<b>engage</b>" (use) this module in one of our services.
-For this, let's use the same Web service that we have used throughout the
-user's guide- MyService. However, since we need to modify the "services.xml"
-of MyService in order to engage this module, we use a separate Web service,
-but with the similar operations.</p>
-
-<p>The code for this service can be found in the
-"<strong>Axis2_HOME/samples/userguide/src/userguide/example2</strong>"
-directory. The simple changes that we have done to "services.xml' are shown
-in green in the following lines of xml.</p>
-<pre><service name="<span style="color: rgb(36, 193, 19);">MyServiceWithModule</span>">
- <description>
- This is a sample Web service with a logging module engaged.
- </description>
- <span style="color: rgb(36, 193, 19);"><module ref="logging"/></span>
- <parameter name="ServiceClass" locked="xsd:false">userguide.example2.MyService</parameter>
- <operation name="echo">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
- </operation>
- <operation name="ping">
- <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
- </operation>
-</service></pre>
-
-<p>In this example we have changed the service name (the implementation class
-is very similar to what we have used earlier although it is in a different
-package). In addition we have added the line <b>"<module
-ref="logging"/>"</b> to "services.xml". This informs the Axis2 engine that
-the module "logging" should be engaged for this service. The handler inside
-the module will be executed in their respective phases as described by the
-"module.xml".</p>
-
-<a name="Step6_:_Packaging"></a>
-<p><b>Step6 : Packaging</b></p>
-
-<p>Before deploying the module we need to create the ".mar" file for this
-module. This can be done, using the "jar" command and then renaming the
-created jar file. Or you can find the "logging.mar" that is already created
-for you in the "<strong>Axis2_HOME/samples/userguide</strong>" directory.</p>
-
-<a name="Step7_:_Deploy_the_Module_in_Axis2"></a>
-<h4>Step7 : Deploy the Module in Axis2</h4>
-
-<p>Deploying a module in Axis2 require the user to create a directory with
-the name "modules" in the "webapps/axis2/WEB-INF" directory of their servlet
-container and then copying the ".mar" file to that directory. So let's first
-create the "modules" directory and drop the "logging.mar" in to this
-directory.</p>
-
-<p>Although the required changes to the "services.xml" is very little, we
-have created a separate service archive (MyServiceWithModule.aar) for users
-to deploy and see.</p>
-
-<p>Deploy this service using the same steps used in <a href="userguide.html#Step5_Deploy_web_service">'Step 4: Deploy Web Service'</a> sub section in '<a href="userguide.html#ws_codegen">Writing a New Service using Codegeneration</a>', and copy the
-"logging.mar" file to the "modules" directory.</p>
-
-<p>Then run using the "TestWebServiceWithModuleClient.bat" or
-"TestWebServiceWithModuleClient.sh" in the
-"<strong>Axis2Home/samples/userguide/src/userguide/clients/bin</strong>"
-directory.</p>
-
-<p>Note: To see logs, the user needs to modify the "log4j.properties" to log
-INFO. The property file is located in
-"<strong>webapps/axis2/WEB-INF/classes</strong>" of your servlet container.
-Change the line "log4j.rootCategory= ERROR, LOGFILE" to
-"log4j.rootCategory=INFO, ERROR, LOGFILE".</p>
-
-<p><font size="4"><b>Note (on samples):</b></font> All samples mentioned in
-the user's guide are located at <b>"samples\userguide\src"</b> directory of
-the binary distribution.</p>
-
-</body>
-</html>
+<html>
+<head>
+ <meta http-equiv="content-type" content="">
+ <title>Writing your Own Axis2 Module</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body dir="ltr" lang="en-US">
+
+<a name="Modules"></a>
+<h1></a>Writing your Own Axis2 Module</h1>
+
+<p>Axis2 provides extended support for modules (See <a
+href="Axis2ArchitectureGuide.html" target="_blank">Architecture Guide</a> for
+more details about modules in Axis2). Let's create a custom module and deploy
+it to MyService which we created earlier.</p>
+
+<p><i>Send your feedback or questions to: <a
+href="mailto:axis-dev@ws.apache.org">axis-dev@ws.apache.org</a></i>. Prefix
+subject with [Axis2]. To subscribe to mailing list see <a
+href="http://ws.apache.org/axis2/mail-lists.html">here.</a></p>
+
+<h2>Content List</h2>
+<ul>
+ <li><a href="#MyService_with_a_Logging_Module">MyService with a Logging Module</a></li>
+ <ul>
+ <li><a href="#Step1_:_LoggingModule_Class">Step1 : LoggingModule Class</a></li>
+ <li><a href="#Step2_:_LogHandler">Step2 : LogHandler</a></li>
+ <li><a href="#Step3_:_module_xml">Step3 : module.xml</a></li>
+ <li><a href="#Step_4:_Modify_the_"axis2_xml"">Step 4: Modify the "axis2.xml"</a></li>
+ <li><a href="#Step5_:_Modify_the_"services_xml"">Step5 : Modify the "services.xml</a></li>
+ <li><a href="#Step6_:_Packaging">Step6 : Packaging</a></li>
+ <li><a href="#Step7_:_Deploy_the_Module_in_Axis2">Step7 : Deploy the Module in Axis2</a></li>
+ </ul>
+</ul>
+
+
+<p>Following steps show the actions that need to be performed to deploy a
+custom module for a given Web service:</p>
+<ol>
+ <li><p style="margin-bottom: 0in">Create the Module Implementation</p>
+ </li>
+ <li><p style="margin-bottom: 0in">Create the Handlers</p>
+ </li>
+ <li><p style="margin-bottom: 0in">Create the module.xml</p>
+ </li>
+ <li><p style="margin-bottom: 0in">Modify the "axis2.xml" (if you need
+ custom phases)</p>
+ </li>
+ <li><p style="margin-bottom: 0in">Modify the "services.xml" to engage
+ modules at the deployment time.</p>
+ </li>
+ <li><p style="margin-bottom: 0in">Package in a ".mar" (Module Archive)</p>
+ </li>
+ <li><p>Deploy the module in Axis2</p>
+ </li>
+</ol>
+
+<a name="MyService_with_a_Logging_Module"></a>
+<h3>MyService with a Logging Module</h3>
+
+<p>Let's write a simple logging module for our sample located at
+<b>"samples\userguide\src"</b> directory of the binary distribution. This
+module contains one handler that just logs the message that is passed through
+it. Axis2 uses ".mar" (Module Archive) to deploy modules in Axis2. Following
+diagram shows the file structure inside which needs to be there in the ".mar"
+archive. Let's create all these and see how it works.</p>
+
+<p><img src="images/userguide/ModuleView.jpg" name="Graphic5" align="bottom"
+border="0"></p>
+
+<a name="Step1_:_LoggingModule_Class"></a>
+<h4>Step1 : LoggingModule Class</h4>
+
+<p>LoggingModule is the implementation class of the Axis2 module. Axis2
+modules should implement the "<a
+href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/modules/Module.java?rev=396785&view=log">org.apache.axis2.modules.Module</a>"
+interface with the following methods.</p>
+<pre>public void init(ConfigurationContext configContext, AxisModule module) throws AxisFault;//Initialize the module
+public void shutdown(ConfigurationContext configurationContext) throws AxisFault;//End of module processing
+public void engageNotify(AxisDescription axisDescription) throws AxisFault;
+public String[] getPolicyNamespaces() throws AxisFault;
+public void applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault ;
+public boolean canSupportAssertion(Assertion assertion) ;
+</pre>
+
+<p>Firt three methods can be used to control the module initialization and the
+termination , and the next three methods are used to perform policy related stuff
+With the input parameter AxisConfiguration, the user is provided
+with the complete configuration hierarchy. This can be used to fine-tune the
+module behavior by the module writers. For the simple logging service we can
+keep these methods blank in our implementation class.</p>
+
+<a name="Step2_:_LogHandler"></a>
+<h4>Step2 : LogHandler</h4>
+
+<p>A module in Axis2 can contain, one or more handlers that perform various
+SOAP header processing at different phases. (See<a
+href="Axis2ArchitectureGuide.html#incomingsoap" target="_blank"> Architecture
+Guide</a> for more information on phases). To write a handler one should
+implement <a
+href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/Handler.java?rev=357187&view=log">org.apache.axis2.engine.Handler</a>.
+But for convenience, <a
+href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/handlers/AbstractHandler.java?rev=396788&view=log">org.apache.axis2.handlers.AbstractHandler</a>
+provides an abstract implementation of the Handler interface.</p>
+
+<p>For the logging module we will write a handler with the following methods.
+"public void invoke(MessageContext ctx);" is the method that is called by
+Axis2 engine when the control is passed to the handler. "public void
+revoke(MessageContext ctx);" is called when the handlers are revoked by the
+Axis2 engine.</p>
+<pre>public class LogHandler extends AbstractHandler implements Handler {
+ private static final Log log = LogFactory.getLog(LogHandler.class);
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {
+ log.info(msgContext.getEnvelope().toString());
+ return InvocationResponse.CONTINUE;
+ }
+
+ public void revoke(MessageContext msgContext) {
+ log.info(msgContext.getEnvelope().toString());
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}</pre>
+
+<a name="Step3_:_module_xml"></a>
+<h4>Step3 : module.xml</h4>
+
+<p>"module.xml" contains the deployment configurations for a particular
+module. It contains details such as Implementation class of the module (in
+this example it is the "LoggingModule" class and various handlers that will
+run in different phases). "module.xml" for the logging module will be as
+follows:</p>
+<pre><module name="logging" class="userguide.loggingmodule.LoggingModule ">
+ <inflow>
+ <handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler">
+ <order phase="loggingPhase" />
+ </handler>
+ </inflow>
+
+ <outflow>
+ <handler name="OutFlowLogHandler" class="userguide.loggingmodule.LogHandler">
+ <order phase="loggingPhase"/>
+ </handler>
+ </outflow>
+
+ <Outfaultflow>
+ <handler name="FaultOutFlowLogHandler" class="userguide.loggingmodule.LogHandler">
+ <order phase="loggingPhase"/>
+ </handler>
+ </Outfaultflow>
+
+ <INfaultflow>
+ <handler name="FaultInFlowLogHandler" class="userguide.loggingmodule.LogHandler">
+ <order phase="loggingPhase"/>
+ </handler>
+ </INfaultflow>
+</module></pre>
+
+<p>As you can see there are four flows defined in this "module.xml"</p>
+<ol>
+ <li>inflow - Represents the handler chain that will run when a message is
+ coming in. </li>
+ <li><p style="margin-bottom: 0in">outflow - Represents the handler chain
+ that will run when the message is going out. </p>
+ </li>
+ <li><p style="margin-bottom: 0in">Outfaultflow - Represents the handler
+ chain that will run when there is a fault and the fault is going out</p>
+ </li>
+ <li><p>INfaultflow - Represents the handler chain that will run when there
+ is a fault and the fault is coming in </p>
+ </li>
+</ol>
+
+<p>Following set of tags describe the name of the handler, handler class and
+the phase in which this handler is going to run. "InFlowLogHandler" is the
+name given for the particular instance of this handler class. The value of
+class attribute is the actual implementation class for this handler. Since we
+are writing logging handler, we can reuse the same handler in all these
+phases. However this may not be the same for all the modules. "<order
+phase="loggingPhase" />" describes the phase in which this handler
+runs.</p>
+<pre><handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler">
+<order phase="loggingPhase" />
+</handler></pre>
+
+<p>To learn more about Phase rules, check out the article <a
+href="http://www.developer.com/java/web/article.php/3529321"
+target="_blank">Axis2 Execution Framework</a></p>
+
+<a name="Step_4:_Modify_the_"axis2_xml""></a>
+<h4>Step 4: Modify the "axis2.xml"</h4>
+
+<p>In this handler, the phase "loggingPhase", is defined by the module
+writer. It is not a pre-defined handler phase, hence the module writer should
+introduce it to the "axis2.xml" (NOT the services.xml) so that the Axis2
+engine knows where to place the handler in different "flows" ( inFlow,
+outFlow, etc.). Following xml lines show the respective changes made to the
+"axis2.xml" in order to deploy this logging module in the Axis2 engine. This
+is an extract of the phase section of "axis2.xml".</p>
+<pre><!-- ================================================= -->
+<!-- Phases -->
+<!-- ================================================= -->
+
+<phaseOrder type="inflow">
+ <!-- System pre defined phases -->
+ <phase name="TransportIn"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.engine.AddressingBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="InstanceDispatcher"
+ class="org.apache.axis2.engine.InstanceDispatcher">
+ <order phase="PostDispatch"/>
+ </handler>
+ </phase>
+ <!-- System pre defined phases -->
+ <!-- After Postdispatch phase module author or service author can add any phase he wants -->
+ <phase name="OperationInPhase"/>
+ <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
+ </phaseOrder>
+ <phaseOrder type="outflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationOutPhase"/>
+ <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
+ <!--system predefined phases-->
+ <!--these phases will run irrespective of the service-->
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder/>
+ <phaseOrder type="INfaultflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationInFaultPhase"/>
+ <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
+ </phaseOrder>
+ <phaseOrder type="Outfaultflow">
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationOutFaultPhase"/>
+ <phase name="<span style="color: rgb(36, 193, 19);">loggingPhase</span>"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder>
+ </pre>
+
+<p>The text in green, the custom phase "loggingPhase" is placed in all the
+flows, hence that phase will be called in all the message flows in the
+engine. Since our module is associated with this phase, the LogHandler inside
+the module will now be executed in this phase.</p>
+
+<a name="Step5_:_Modify_the_"services_xml""></a>
+<h4>Step5 : Modify the "services.xml"</h4>
+
+<p>Up to this point we have created the required classes and configuration
+descriptions for the logging module and by changing the "axis2.xml" we have
+created the required phases for the logging module.</p>
+
+<p>Next step is to "<b>engage</b>" (use) this module in one of our services.
+For this, let's use the same Web service that we have used throughout the
+user's guide- MyService. However, since we need to modify the "services.xml"
+of MyService in order to engage this module, we use a separate Web service,
+but with the similar operations.</p>
+
+<p>The code for this service can be found in the
+"<strong>Axis2_HOME/samples/userguide/src/userguide/example2</strong>"
+directory. The simple changes that we have done to "services.xml' are shown
+in green in the following lines of xml.</p>
+<pre><service name="<span style="color: rgb(36, 193, 19);">MyServiceWithModule</span>">
+ <description>
+ This is a sample Web service with a logging module engaged.
+ </description>
+ <span style="color: rgb(36, 193, 19);"><module ref="logging"/></span>
+ <parameter name="ServiceClass" locked="xsd:false">userguide.example2.MyService</parameter>
+ <operation name="echo">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+ <operation name="ping">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+</service></pre>
+
+<p>In this example we have changed the service name (the implementation class
+is very similar to what we have used earlier although it is in a different
+package). In addition we have added the line <b>"<module
+ref="logging"/>"</b> to "services.xml". This informs the Axis2 engine that
+the module "logging" should be engaged for this service. The handler inside
+the module will be executed in their respective phases as described by the
+"module.xml".</p>
+
+<a name="Step6_:_Packaging"></a>
+<p><b>Step6 : Packaging</b></p>
+
+<p>Before deploying the module we need to create the ".mar" file for this
+module. This can be done, using the "jar" command and then renaming the
+created jar file. Or you can find the "logging.mar" that is already created
+for you in the "<strong>Axis2_HOME/samples/userguide</strong>" directory.</p>
+
+<a name="Step7_:_Deploy_the_Module_in_Axis2"></a>
+<h4>Step7 : Deploy the Module in Axis2</h4>
+
+<p>Deploying a module in Axis2 require the user to create a directory with
+the name "modules" in the "webapps/axis2/WEB-INF" directory of their servlet
+container and then copying the ".mar" file to that directory. So let's first
+create the "modules" directory and drop the "logging.mar" in to this
+directory.</p>
+
+<p>Although the required changes to the "services.xml" is very little, we
+have created a separate service archive (MyServiceWithModule.aar) for users
+to deploy and see.</p>
+
+<p>Deploy this service using the same steps used in <a href="adv-userguide.html#Step5_Deploy_web_service">'Step 4: Deploy Web Service'</a> sub section in '<a href="userguide.html#ws_codegen">Writing a New Service using Codegeneration</a>', and copy the
+"logging.mar" file to the "modules" directory.</p>
+
+<p>Then run using the "TestWebServiceWithModuleClient.bat" or
+"TestWebServiceWithModuleClient.sh" in the
+"<strong>Axis2Home/samples/userguide/src/userguide/clients/bin</strong>"
+directory.</p>
+
+<p>Note: To see logs, the user needs to modify the "log4j.properties" to log
+INFO. The property file is located in
+"<strong>webapps/axis2/WEB-INF/classes</strong>" of your servlet container.
+Change the line "log4j.rootCategory= ERROR, LOGFILE" to
+"log4j.rootCategory=INFO, ERROR, LOGFILE".</p>
+
+<p><font size="4"><b>Note (on samples):</b></font> All samples mentioned in
+the user's guide are located at <b>"samples\userguide\src"</b> directory of
+the binary distribution.</p>
+
+</body>
+</html>
Modified: webservices/axis2/trunk/java/xdocs/faq.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/faq.html?view=diff&rev=488617&r1=488616&r2=488617
==============================================================================
--- webservices/axis2/trunk/java/xdocs/faq.html (original)
+++ webservices/axis2/trunk/java/xdocs/faq.html Tue Dec 19 02:35:53 2006
@@ -157,7 +157,7 @@
<p>Look at the <a
href="https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java"
target="_blank">ServiceClient</a> class, for more information please read
- the <a href="1_1/userguide.html" target="_blank">User's Guide</a></p>
+ the <a href="1_1/adv-userguide.html" target="_blank">User's Guide</a></p>
</li>
<li><a name="c2"></a><strong>I want to do One Way Messaging, Where should I
look?</strong><br>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org