axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cha...@apache.org
Subject svn commit: r392238 [3/3] - in /webservices/axis2/trunk/java/xdocs: ./ latest/
Date Fri, 07 Apr 2006 10:30:43 GMT
Modified: webservices/axis2/trunk/java/xdocs/latest/userguide4.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/userguide4.html?rev=392238&r1=392237&r2=392238&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/userguide4.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/userguide4.html Fri Apr  7 03:30:34 2006
@@ -1,325 +1,325 @@
-<!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 User's Guide</title>
-  <meta name="generator" content="amaya 9.3, see http://www.w3.org/Amaya/">
-</head>
-
-<body lang="en-US" dir="ltr">
-<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
-
-<p><i>Version 0.95</i></p>
-<i>User Feedback: <a
-href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
-
-<p align="right">Pages: <a href="userguide.html">Content</a>, <a
-href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a
-href="userguide3.html">3</a>, <b>4</b>, <a href="userguide5.html">5</a></p>
-
-<p><b><font size="4">Note (on samples):</font></b> All the user's guide
-samples are located in the <b>"samples/userguide/src"</b> directory of the
-binary distribution.</p>
-
-<h2><a name="Modules"></a>Modules</h2>
-
-<p>Axis2 provides an 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 the MyService which we created earlier. Following steps shows 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>
-
-<h3><a name="MyService_with_a_Logging_Module">MyService with a Logging
-Module</a></h3>
-
-<p>Let's write a simple logging module for our sample. 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 that 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"
-width="185" height="120" border="0"></p>
-
-<h4><a name="Step1_:_LoggingModule_Class">Step1 : LoggingModule Class</a></h4>
-
-<p>LoggingModule is the implementation class of the Axis2 module. Axis2
-modules should implement the "org.apache.axis2.modules.Module" interface with
-the following methods.</p>
-<pre>public void init(ConfigurationContext configContext, AxisModule module) throws AxisFault;//Initialize the module
-public void shutdown(AxisConfiguration axisSystem) throws AxisFault;//End of module processing
-public void engageNotify(AxisDescription axisDescription) throws AxisFault;</pre>
-
-<p>These methods can be used to control the module initialization and the
-termination. With the input parameter AxisConfiguration user is provided with
-the complete configuration hierarchy. This can be used to fine-tune the
-module behavior using the module writers. For the simple logging service we
-can keep these methods blank in our implementation class.</p>
-
-<h4><a name="Step2_:_LogHandler">Step2 : LogHandler</a></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" target="_blank"> Architecture Guide</a>
-for more information about phases). For the logging module we will write a
-handle 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 Log log = LogFactory.getLog(getClass());
-    private QName name;
-
-    public QName getName() {
-        return name;
-    }
-
-    public void invoke(MessageContext msgContext) throws AxisFault {
-        log.info(msgContext.getEnvelope().toString());
-    }
-
-    public void revoke(MessageContext msgContext) {
-        log.info(msgContext.getEnvelope().toString());
-    }
-
-    public void setName(QName name) {
-        this.name = name;
-    }
-}</pre>
-
-<h4><a name="Step3_:_module_xml">Step3 : module.xml</a></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>&lt;module name="logging" class="userguide.loggingmodule.LoggingModule "&gt;
-   &lt;inflow&gt;
-        &lt;handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
-        &lt;order phase="loggingPhase" /&gt;
-        &lt;/handler&gt;
-   &lt;/inflow&gt;
-
-   &lt;outflow&gt;
-        &lt;handler name="OutFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
-        &lt;order phase="loggingPhase"/&gt;
-        &lt;/handler&gt;
-   &lt;/outflow&gt;
-
-   &lt;Outfaultflow&gt;
-        &lt;handler name="FaultOutFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
-        &lt;order phase="loggingPhase"/&gt;
-        &lt;/handler&gt;
-   &lt;/Outfaultflow&gt;
-
-   &lt;INfaultflow&gt;
-        &lt;handler name="FaultInFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
-        &lt;order phase="loggingPhase"/&gt;
-        &lt;/handler&gt;
-   &lt;/INfaultflow&gt;
-&lt;/module&gt;</pre>
-
-<p>As it can be seen there are four phases 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. 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. "&lt;order
-phase="loggingPhase" /&gt;" describes the phase in which this handler
-runs.</p>
-<pre>&lt;handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
-&lt;order phase="loggingPhase" /&gt;
-&lt;/handler&gt;</pre>
-
-<p>To learn more on Phase rules, click on <a
-href="http://www.developer.com/java/web/article.php/3529321"
-target="_blank">here</a></p>
-
-<h4><a name="Step_4:_Modify_the_&#34;axis2_xml&#34;">Step 4: Modify the
-"axis2.xml"</a></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 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 Axis2 engine. This is
-an extract of the phase section of the "axis2.xml".</p>
-<pre>&lt;!-- ================================================= --&gt;
-&lt;!-- Phases --&gt;
-&lt;!-- ================================================= --&gt;
-
-&lt;phaseOrder type="inflow"&gt;
-        &lt;!--  System pre defined phases       --&gt;
-        &lt;phase name="TransportIn"/&gt;
-        &lt;phase name="PreDispatch"/&gt;
-        &lt;phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"&gt;
-            &lt;handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.engine.AddressingBasedDispatcher"&gt;
-                &lt;order phase="Dispatch"/&gt;
-            &lt;/handler&gt;
-
-            &lt;handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.engine.RequestURIBasedDispatcher"&gt;
-                &lt;order phase="Dispatch"/&gt;
-            &lt;/handler&gt;
-
-            &lt;handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher"&gt;
-                &lt;order phase="Dispatch"/&gt;
-            &lt;/handler&gt;
-
-            &lt;handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher"&gt;
-                &lt;order phase="Dispatch"/&gt;
-            &lt;/handler&gt;
-            &lt;handler name="InstanceDispatcher"
-                     class="org.apache.axis2.engine.InstanceDispatcher"&gt;
-                &lt;order phase="PostDispatch"/&gt;
-            &lt;/handler&gt;
-        &lt;/phase&gt;
-        &lt;!--  System pre defined phases       --&gt;
-        &lt;!--   After Postdispatch phase module author or or service author can add any phase he want      --&gt;
-        &lt;phase name="OperationInPhase"/&gt;
-        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
-    &lt;/phaseOrder&gt;
-    &lt;phaseOrder type="outflow"&gt;
-        &lt;!--      user can add his own phases to this area  --&gt;
-        &lt;phase name="OperationOutPhase"/&gt;
-        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
-        &lt;!--system predefined phase--&gt;
-        &lt;!--these phase will run irrespective of the service--&gt;
-        &lt;phase name="PolicyDetermination"/&gt;
-        &lt;phase name="MessageOut"/&gt;
-    &lt;/phaseOrder/&gt;
-    &lt;phaseOrder type="INfaultflow"&gt;
-        &lt;!--      user can add his own phases to this area  --&gt;
-        &lt;phase name="OperationInFaultPhase"/&gt;
-        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
-    &lt;/phaseOrder&gt;
-    &lt;phaseOrder type="Outfaultflow"&gt;
-        &lt;!--      user can add his own phases to this area  --&gt;
-        &lt;phase name="OperationOutFaultPhase"/&gt;
-        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
-        &lt;phase name="PolicyDetermination"/&gt;
-        &lt;phase name="MessageOut"/&gt;
-    &lt;/phaseOrder&gt;
-    </pre>
-
-<p>Shown 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 now will be executed in this phase.</p>
-
-<h4><a name="Step5_:_Modify_the_&#34;services_xml&#34;">Step5 : Modify the
-"services.xml"</a></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. 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. The code for this service can be found in the
-"Axis2Home/samples/userguide/src/userguide/example2" directory. The simple
-changes that we have done to "services.xml' are shown in green in the
-following lines of xml.</p>
-<pre>&lt;service name="<font color="#33cc00">MyServiceWithModule</font>"&gt;
-    &lt;description&gt;
-    This is a sample Web Service with a logging module engaged.
-    &lt;/description&gt;
-    <font color="#33cc00">&lt;module ref="logging"/&gt;</font>
-    &lt;parameter name="ServiceClass" locked="xsd:false"&gt;userguide.example2.MyService&lt;/parameter&gt;
-    &lt;operation name="echo"&gt;
-    &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
-    &lt;/operation&gt;
-    &lt;operation name="ping"&gt;
-    &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
-    &lt;/operation&gt;
-&lt;/service&gt;</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>"&lt;module
-ref="logging"/&gt;"</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>
-
-<p><b><a name="Step6_:_Packaging">Step6 : Packaging</a></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 "Axis2Home/samples/userguide" directory.</p>
-
-<h4><a name="Step7_:_Deploy_the_Module_in_Axis2">Step7 : Deploy the Module in
-Axis2</a></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 "LoggingModule.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. Deploy this service using the <a
-href="userguide2.html#Step4_:Deploy_the_Web_Service">same steps that you used
-to deploy "MyService"</a> and copy the "LoggingModule.mar" file to the
-"modules" directory. Then run using the "TestWebServiceWithModuleClient.bat"
-or "TestWebServiceWithModuleClient.sh" in the
-"Axis2Home/samples/userguide/src/userguide/clients/bin" directory.</p>
-
-<p>Note: To see the logs, the user needs to modify the "log4j.properties" to
-log INFO. The property file is located in "webapps\axis2\WEB-INF\classes" of
-your servlet container. Change the line "log4j.rootCategory= ERROR, LOGFILE"
-to "log4j.rootCategory=INFO, ERROR, LOGFILE".</p>
-
-<p align="right"><a href="userguide3.html"><img src="images/arrow_left.gif">
-Previous</a> | <a href="userguide5.html">Next <img
-src="images/arrow_right.gif"></a></p>
-
-<p>Pages: <a href="userguide.html">Content</a>, <a
-href="userguide1.html">1</a>, <a href="userguide2.html">2</a>,<a
-href="userguide3.html"> 3</a>, <b>4</b>, <a href="userguide5.html">5</a></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 User's Guide</title>
+  <meta name="generator" content="amaya 9.3, see http://www.w3.org/Amaya/">
+</head>
+
+<body lang="en-US" dir="ltr">
+<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
+
+<p><i>Version 1.0</i></p>
+<i>User Feedback: <a
+href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
+
+<p align="right">Pages: <a href="userguide.html">Content</a>, <a
+href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a
+href="userguide3.html">3</a>, <b>4</b>, <a href="userguide5.html">5</a></p>
+
+<p><b><font size="4">Note (on samples):</font></b> All the user's guide
+samples are located in the <b>"samples/userguide/src"</b> directory of the
+binary distribution.</p>
+
+<h2><a name="Modules"></a>Modules</h2>
+
+<p>Axis2 provides an 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 the MyService which we created earlier. Following steps shows 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>
+
+<h3><a name="MyService_with_a_Logging_Module">MyService with a Logging
+Module</a></h3>
+
+<p>Let's write a simple logging module for our sample. 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 that 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"
+width="185" height="120" border="0"></p>
+
+<h4><a name="Step1_:_LoggingModule_Class">Step1 : LoggingModule Class</a></h4>
+
+<p>LoggingModule is the implementation class of the Axis2 module. Axis2
+modules should implement the "org.apache.axis2.modules.Module" interface with
+the following methods.</p>
+<pre>public void init(ConfigurationContext configContext, AxisModule module) throws AxisFault;//Initialize the module
+public void shutdown(AxisConfiguration axisSystem) throws AxisFault;//End of module processing
+public void engageNotify(AxisDescription axisDescription) throws AxisFault;</pre>
+
+<p>These methods can be used to control the module initialization and the
+termination. With the input parameter AxisConfiguration user is provided with
+the complete configuration hierarchy. This can be used to fine-tune the
+module behavior using the module writers. For the simple logging service we
+can keep these methods blank in our implementation class.</p>
+
+<h4><a name="Step2_:_LogHandler">Step2 : LogHandler</a></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" target="_blank"> Architecture Guide</a>
+for more information about phases). For the logging module we will write a
+handle 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 Log log = LogFactory.getLog(getClass());
+    private QName name;
+
+    public QName getName() {
+        return name;
+    }
+
+    public void invoke(MessageContext msgContext) throws AxisFault {
+        log.info(msgContext.getEnvelope().toString());
+    }
+
+    public void revoke(MessageContext msgContext) {
+        log.info(msgContext.getEnvelope().toString());
+    }
+
+    public void setName(QName name) {
+        this.name = name;
+    }
+}</pre>
+
+<h4><a name="Step3_:_module_xml">Step3 : module.xml</a></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>&lt;module name="logging" class="userguide.loggingmodule.LoggingModule "&gt;
+   &lt;inflow&gt;
+        &lt;handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
+        &lt;order phase="loggingPhase" /&gt;
+        &lt;/handler&gt;
+   &lt;/inflow&gt;
+
+   &lt;outflow&gt;
+        &lt;handler name="OutFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
+        &lt;order phase="loggingPhase"/&gt;
+        &lt;/handler&gt;
+   &lt;/outflow&gt;
+
+   &lt;Outfaultflow&gt;
+        &lt;handler name="FaultOutFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
+        &lt;order phase="loggingPhase"/&gt;
+        &lt;/handler&gt;
+   &lt;/Outfaultflow&gt;
+
+   &lt;INfaultflow&gt;
+        &lt;handler name="FaultInFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
+        &lt;order phase="loggingPhase"/&gt;
+        &lt;/handler&gt;
+   &lt;/INfaultflow&gt;
+&lt;/module&gt;</pre>
+
+<p>As it can be seen there are four phases 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. 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. "&lt;order
+phase="loggingPhase" /&gt;" describes the phase in which this handler
+runs.</p>
+<pre>&lt;handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler"&gt;
+&lt;order phase="loggingPhase" /&gt;
+&lt;/handler&gt;</pre>
+
+<p>To learn more on Phase rules, click on <a
+href="http://www.developer.com/java/web/article.php/3529321"
+target="_blank">here</a></p>
+
+<h4><a name="Step_4:_Modify_the_&#34;axis2_xml&#34;">Step 4: Modify the
+"axis2.xml"</a></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 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 Axis2 engine. This is
+an extract of the phase section of the "axis2.xml".</p>
+<pre>&lt;!-- ================================================= --&gt;
+&lt;!-- Phases --&gt;
+&lt;!-- ================================================= --&gt;
+
+&lt;phaseOrder type="inflow"&gt;
+        &lt;!--  System pre defined phases       --&gt;
+        &lt;phase name="TransportIn"/&gt;
+        &lt;phase name="PreDispatch"/&gt;
+        &lt;phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"&gt;
+            &lt;handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher"&gt;
+                &lt;order phase="Dispatch"/&gt;
+            &lt;/handler&gt;
+
+            &lt;handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher"&gt;
+                &lt;order phase="Dispatch"/&gt;
+            &lt;/handler&gt;
+
+            &lt;handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher"&gt;
+                &lt;order phase="Dispatch"/&gt;
+            &lt;/handler&gt;
+
+            &lt;handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher"&gt;
+                &lt;order phase="Dispatch"/&gt;
+            &lt;/handler&gt;
+            &lt;handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher"&gt;
+                &lt;order phase="PostDispatch"/&gt;
+            &lt;/handler&gt;
+        &lt;/phase&gt;
+        &lt;!--  System pre defined phases       --&gt;
+        &lt;!--   After Postdispatch phase module author or or service author can add any phase he want      --&gt;
+        &lt;phase name="OperationInPhase"/&gt;
+        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
+    &lt;/phaseOrder&gt;
+    &lt;phaseOrder type="outflow"&gt;
+        &lt;!--      user can add his own phases to this area  --&gt;
+        &lt;phase name="OperationOutPhase"/&gt;
+        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
+        &lt;!--system predefined phase--&gt;
+        &lt;!--these phase will run irrespective of the service--&gt;
+        &lt;phase name="PolicyDetermination"/&gt;
+        &lt;phase name="MessageOut"/&gt;
+    &lt;/phaseOrder/&gt;
+    &lt;phaseOrder type="INfaultflow"&gt;
+        &lt;!--      user can add his own phases to this area  --&gt;
+        &lt;phase name="OperationInFaultPhase"/&gt;
+        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
+    &lt;/phaseOrder&gt;
+    &lt;phaseOrder type="Outfaultflow"&gt;
+        &lt;!--      user can add his own phases to this area  --&gt;
+        &lt;phase name="OperationOutFaultPhase"/&gt;
+        &lt;phase name="<font color="#33cc00">loggingPhase</font>"/&gt;
+        &lt;phase name="PolicyDetermination"/&gt;
+        &lt;phase name="MessageOut"/&gt;
+    &lt;/phaseOrder&gt;
+    </pre>
+
+<p>Shown 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 now will be executed in this phase.</p>
+
+<h4><a name="Step5_:_Modify_the_&#34;services_xml&#34;">Step5 : Modify the
+"services.xml"</a></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. 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. The code for this service can be found in the
+"Axis2Home/samples/userguide/src/userguide/example2" directory. The simple
+changes that we have done to "services.xml' are shown in green in the
+following lines of xml.</p>
+<pre>&lt;service name="<font color="#33cc00">MyServiceWithModule</font>"&gt;
+    &lt;description&gt;
+    This is a sample Web Service with a logging module engaged.
+    &lt;/description&gt;
+    <font color="#33cc00">&lt;module ref="logging"/&gt;</font>
+    &lt;parameter name="ServiceClass" locked="xsd:false"&gt;userguide.example2.MyService&lt;/parameter&gt;
+    &lt;operation name="echo"&gt;
+    &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+    &lt;/operation&gt;
+    &lt;operation name="ping"&gt;
+    &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+    &lt;/operation&gt;
+&lt;/service&gt;</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>"&lt;module
+ref="logging"/&gt;"</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>
+
+<p><b><a name="Step6_:_Packaging">Step6 : Packaging</a></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 "Axis2Home/samples/userguide" directory.</p>
+
+<h4><a name="Step7_:_Deploy_the_Module_in_Axis2">Step7 : Deploy the Module in
+Axis2</a></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 "LoggingModule.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. Deploy this service using the <a
+href="userguide2.html#Step4_:Deploy_the_Web_Service">same steps that you used
+to deploy "MyService"</a> and copy the "LoggingModule.mar" file to the
+"modules" directory. Then run using the "TestWebServiceWithModuleClient.bat"
+or "TestWebServiceWithModuleClient.sh" in the
+"Axis2Home/samples/userguide/src/userguide/clients/bin" directory.</p>
+
+<p>Note: To see the logs, the user needs to modify the "log4j.properties" to
+log INFO. The property file is located in "webapps\axis2\WEB-INF\classes" of
+your servlet container. Change the line "log4j.rootCategory= ERROR, LOGFILE"
+to "log4j.rootCategory=INFO, ERROR, LOGFILE".</p>
+
+<p align="right"><a href="userguide3.html"><img src="images/arrow_left.gif">
+Previous</a> | <a href="userguide5.html">Next <img
+src="images/arrow_right.gif"></a></p>
+
+<p>Pages: <a href="userguide.html">Content</a>, <a
+href="userguide1.html">1</a>, <a href="userguide2.html">2</a>,<a
+href="userguide3.html"> 3</a>, <b>4</b>, <a href="userguide5.html">5</a></p>
+</body>
+</html>

Modified: webservices/axis2/trunk/java/xdocs/latest/userguide5.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/userguide5.html?rev=392238&r1=392237&r2=392238&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/userguide5.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/userguide5.html Fri Apr  7 03:30:34 2006
@@ -10,7 +10,7 @@
 <body lang="en-US" dir="ltr">
 <h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
 
-<p><i>Version 0.95</i></p>
+<p><i>Version 1.0</i></p>
 <i>User Feedback: <a
 href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
 

Modified: webservices/axis2/trunk/java/xdocs/latest/webadminguide.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/webadminguide.html?rev=392238&r1=392237&r2=392238&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/webadminguide.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/webadminguide.html Fri Apr  7 03:30:34 2006
@@ -1,297 +1,297 @@
-<!-- saved from url=(0022)http://internet.e-mail -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type" content="">
-  <title>Axis2 administartion guide</title>
-</head>
-
-<body lang="en">
-<h1 align="center">Axis2 Web Administration Guide</h1>
-
-<p><i>Version 0.95</i></p>
-<i>Feedback: <a
-href="mailto:axis-dev@ws.apache.org">axis-dev@ws.apache.org</a></i>
-
-<h3>Contents</h3>
-<ul>
-  <li><a href="#Intro">Introduction</a>
-    <ul>
-      <li><p><a href="#login">Login into Administration Site</a></p>
-      </li>
-    </ul>
-  </li>
-  <li><a href="#adminoptions">Administration Options</a>
-    <ul>
-      <li><p><a href="#tools">Tools</a></p>
-        <ul>
-          <li><a href="#upservice">Upload Service</a></li>
-        </ul>
-      </li>
-      <li><p><a href="#syscomponents">System components</a></p>
-        <ul>
-          <li><a href="#heading1">Available services</a></li>
-          <li><a href="#servgroups">Available service groups</a></li>
-          <li><a href="#avmodules">Available modules</a></li>
-          <li><a href="#globalmodules">Globally engaged modules</a></li>
-          <li><a href="#phases">Available phases</a></li>
-        </ul>
-      </li>
-      <li><p><a href="#executionchains">Execution chains</a></p>
-        <ul>
-          <li><a href="#globalchains">Global chains</a></li>
-          <li><a href="#operationchains">Operation specific chains</a></li>
-        </ul>
-      </li>
-      <li><p><a href="#engaginmodule">Engage module</a></p>
-      </li>
-      <li><a href="#services">Services</a>
-        <ul>
-          <li><a href="#turnoffservice">Inacivate Service</a></li>
-          <li><a href="#turnonservice">Acivate Service</a></li>
-          <li><a href="#editservicepara">Edit service parameters</a></li>
-        </ul>
-      </li>
-      <li><p><a href="#context">Contexts</a></p>
-        <ul>
-          <li><a href="#viewhierarchy">View Hierarchy</a></li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-</ul>
-<a name="Intro">
-<h3>Introduction</h3>
-
-<p>Axis2 Web Administration Module provides a way to configure Axis2
-dynamically. It's important to note that this dynamic configuration will NOT
-be persistent, i.e. if the servlet container is restarted then all the
-dynamic configuration changes will be lost.</p>
-<a name="login">
-<h4>Login into Administration Site</h4>
-
-<p>From <a href="#homepage">Axis2 Web Application Home page</a> you can go to
-Administration page by following 'Administration' link, then login page shown
-below will appear requesting user name and a password. The default user name
-is 'admin' (without quotes) and default password is 'axis2' (without
-quotes).</p>
-
-<p align="center"><img alt="" src="images/adminlogin.jpg"></p>
-
-<p>You can change the user name &amp; password values by changing following
-two parameters in axis2.xml as required.</p>
-
-<p align="center"><img alt="" src="images/parameters.jpg"></p>
-
-<p>If the login is successful you will see the screen below. This is where
-you can view the configuration and the state of the running system and
-dynamically configure it.</p>
-
-<p align="center"><img alt="" src="images/admin.jpg"></p>
-
-    <a name="adminoptions"/>
-<h3>Administration Options</h3>
-<ul>
-    <a name="tools"/>
-  <b>Tools</b>
-  <ul>
-    <li><a href="#upservice">Upload Service</a></li>
-  </ul>
-    <a name="syscomponents"/>
-  <b>System components</b>
-  <ul>
-    <li><a href="#heading1">Available services</a></li>
-    <li><a href="#servgroups">Available service groups</a></li>
-    <li><a href="#avmodules">Available modules</a></li>
-    <li><a href="#globalmodules">Globally engaged modules</a></li>
-    <li><a href="#phases">Available phases</a></li>
-  </ul>
-    <a name="executionchains"/>
-  <b>Execution chains</b>
-  <ul>
-    <li><a href="#globalchains">Global chains</a></li>
-    <li><a href="#operationchains">Operation specific chains</a></li>
-  </ul>
-  <b><a href="#engaginmodule">Engage module</a></b> <br/>
-  <br/>
-    <a name="services"/>
-  <b>Services</b>
-  <ul>
-    <li><a href="#turnoffservice">Inactivate service</a></li>
-   <li><a href="#turnonservice">Activate service</a></li>
-    <li><a href="#editservicepara">Edit service parameters</a></li>
-  </ul>
-    <a name="context"/>
-  <b>Contexts</b>
-  <ul>
-    <li><a href="#viewhierarchy">View Hierarchy</a></li>
-  </ul>
-</ul>
-
-    <a name="homepage"/>
-<h3>Axis2 Web Application Home Page</h3>
-
-<p align="center"><strong><img alt="" src="images/clip_image006.jpg"></strong></p>
-
-    <a name="upservice"/>
-<h3>Upload Services</h3>
-
-<p>You can upload packaged Axis2<em> </em>service archive files using this
-page. This can be done in two simple steps:</p>
-<ul>
-  <li>Browse to the location and select the axisService archive file you wish
-    to upload</li>
-  <li>then click Upload</li>
-</ul>
-
-<p align="center"><img alt="" src="images/clip_image010.jpg"></p>
-
-<a name="heading1"></a>
-<h3>Available Services</h3>
-
-<p>The functionality of the 'Available Services' option is almost same as the
-functionality of Axis2 Web Application Home page 'Services' option where it
-displays the list of deployed services. But as an additional feature, if
-there are any modules engaged globally to services or operations those
-details will also be displayed here.</p>
-
-<p><strong>Faulty services</strong> of this system will also be listed on this page. Click on each faulty service, it will take you to a page that lists the exception stack trace of the excpetion that caused service to be faulty</p>
-
-<p align="center"><img alt="" src="images/adminmain.jpg"></p>
-
-<a name="servgroups"></a>
-<h3>Available Service Groups</h3>
-
-<p>Service group is a logical collection of set of services and 'Available
-Service Groups' link will list all the available service groups in the system
-.</p>
-
-<p align="center"><img alt="" src="images/servicegroups.jpg"></p>
-
-<a name="avmodules"></a>
-<h3>Available Modules</h3>
-
-<p>To view the available modules in the 'modules' directory of the
-'repository' click 'Available Modules' link. This will show you all the
-available modules in the system. Those modules can be engaged dynamically.</p>
-
-<p align="center"><img alt="" src="images/modules.jpg"></p>
-<br/>
-
-<a name="globalmodules"></a>
-<h3>Globally Engaged Modules</h3>
-
-<p>From the 'Globally Engaged Modules' link you can view globally engaged
-modules, if any. If a module was engaged globally then the handlers that
-belong to that module will be executed irrespective of the service.</p>
-<br/>
-
-<a name="phases"></a>
-<h3>Available Phases</h3>
-
-<p>'Available Phases' link will display all the available phases. In Axis2
-there are two levels of phases:</p>
-<ul>
-  <li>System predefined phases (not allowed to be changed)</li>
-  <li>User defined phases</li>
-</ul>
-
-<p>The main difference between these two levels is that system predefined
-phases will be invoked irrespective of the services, while user defined
-phases will be invoked when the dispatcher finds the operation. Note that it
-is essential for module developers and service writers to have a good
-understanding of phases and phase ordering.</p>
-<p align="center"><img alt="" src="images/viewphases.jpg"></p><br/>
-
-<a name="globalchains"></a>
-<h3>Global Chains</h3>
-
-<p>'Global Chains' link will display all the Global Execution Chains. The
-most interesting feature of Axis2 Web Administration Module is that it
-provides a very basic way of viewing the global phase list and handlers
-inside the phases depending on both phase and handler orders. This kind of
-information is extremely useful in debugging the system, as there is no other
-way to list out handlers in the global chains. If you engage a new module,
-the new handlers will be added to the global chains and displayed on this
-page.</p>
-
-<p align="center"><img alt="" src="images/globalchain.jpg"></p>
-<br/>
-
-<a name="operationchains"></a>
-<h3>Operation Specific Chains</h3>
-
-<p>The 'Operation Specific Chains' link can be used to view the handlers
-corresponding to a given service in the same order as it is in the real
-execution chain.</p>
-
-<p align="center"><img alt="" src="images/select_service_for_handler.jpg"></p><br/>
-
-<p>Select service of which's service handlers you wish to view from list box, and click on 'View' button to view handlers. The page below shows service handlers of service <em>version</em></p>
-
-<p align="center"><img alt="" src="images/serviceHandlers.jpg"></p>
-<br/>
-
-<a name="engaginmodule"></a>
-<h3>Engaging Modules</h3>
-
-<p>'Engaging Modules' link allows to engage modules either globally (to all
-services), to a service group, to a service or to an operation depending on
-the module implementation. If the module was designed to engage the handlers
-globally then handlers in the module can be included in any phase in the
-system. It can be either system predefined or user defined phase.</p>
-
-<p>On the other hand, if the module was implemented in such a way that it is
-going to be deployed to a service or to an operation, then the module cannot
-be included in any of the <a href="#phases">System Predefined Phases</a>.
-Thus it can only be included in <a href="#phases">User Defined Phases</a>.</p>
-
-<p>Immediately after engaging the module you can see the status of engagement
-indicating whether it is engaged properly or not.</p>
-
-<p align="center"><img alt="" src="images/moduleengage.jpg"></p>
-
-<p>&nbsp;</p>
-
-<a name="turnoffservice"></a>
-<h3>Inactivate Service</h3>
-
-<p>This functionality provide a way to remove unnecessary services from the
-running system, but the removal is transient which means if you restart the
-system the service will be available.</p>
-
-<p>To inactivate service, select service from list box, tick 'Inactivate service' check box, then click on 'Inactivate' button. 'Clear' button will clear the 'Inactivate service' check box</p>
-
-<p align="center"><img alt="" src="images/inactivate.jpg"></p>
-<br/>
-
-<a name="turnonservice"></a><h3>Activate Service</h3>
-<p>This functionality provide a way to activate services while the system is running, but the activation is transient which means if you restart the
-system the service will be inactive.</p>
-
-<p>To activate service, select service from list box, tick 'Activate service' check box, then click on 'Activate' button. 'Clear' button will clear the 'Activate service' check box</p>
-
-<p align="center"><img alt="" src="images/activate.jpg"></p>
-<br/>
-
-<a name="editservicepara"></a>
-<h3>Edit Service Parameters</h3>
-
-<p>This functionality provide a way to change parameters in a service or its
-operations.These changes will be transient too, which means if you restart
-the system changes will not be reflected.</p>
-
-<p>The Edit Parameters link under servies on navigation bar will link to page where you can select service to edit Parameters. Once service is selected click on 'Edit Parameters' button. This will lead to page below.</p>
-
-<p align="center"><img alt="" src="images/editserviecpara.jpg"></p>
-
-<a name="viewhierarchy"></a>
-<h3>View Hierarchy</h3>
-
-<p>By listing current context hierarchy 'View Hierarchy' link provides a
-means to look at the run time system. This will list out all the available
-service group contexts , service contexts , operation context and etc.</p>
-
-<p></p>
-</body>
-</html>
+<!-- saved from url=(0022)http://internet.e-mail -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="content-type" content="">
+  <title>Axis2 administartion guide</title>
+</head>
+
+<body lang="en">
+<h1 align="center">Axis2 Web Administration Guide</h1>
+
+<p><i>Version 1.0</i></p>
+<i>Feedback: <a
+href="mailto:axis-dev@ws.apache.org">axis-dev@ws.apache.org</a></i>
+
+<h3>Contents</h3>
+<ul>
+  <li><a href="#Intro">Introduction</a>
+    <ul>
+      <li><p><a href="#login">Login into Administration Site</a></p>
+      </li>
+    </ul>
+  </li>
+  <li><a href="#adminoptions">Administration Options</a>
+    <ul>
+      <li><p><a href="#tools">Tools</a></p>
+        <ul>
+          <li><a href="#upservice">Upload Service</a></li>
+        </ul>
+      </li>
+      <li><p><a href="#syscomponents">System components</a></p>
+        <ul>
+          <li><a href="#heading1">Available services</a></li>
+          <li><a href="#servgroups">Available service groups</a></li>
+          <li><a href="#avmodules">Available modules</a></li>
+          <li><a href="#globalmodules">Globally engaged modules</a></li>
+          <li><a href="#phases">Available phases</a></li>
+        </ul>
+      </li>
+      <li><p><a href="#executionchains">Execution chains</a></p>
+        <ul>
+          <li><a href="#globalchains">Global chains</a></li>
+          <li><a href="#operationchains">Operation specific chains</a></li>
+        </ul>
+      </li>
+      <li><p><a href="#engaginmodule">Engage module</a></p>
+      </li>
+      <li><a href="#services">Services</a>
+        <ul>
+          <li><a href="#turnoffservice">Inacivate Service</a></li>
+          <li><a href="#turnonservice">Acivate Service</a></li>
+          <li><a href="#editservicepara">Edit service parameters</a></li>
+        </ul>
+      </li>
+      <li><p><a href="#context">Contexts</a></p>
+        <ul>
+          <li><a href="#viewhierarchy">View Hierarchy</a></li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+</ul>
+<a name="Intro">
+<h3>Introduction</h3>
+
+<p>Axis2 Web Administration Module provides a way to configure Axis2
+dynamically. It's important to note that this dynamic configuration will NOT
+be persistent, i.e. if the servlet container is restarted then all the
+dynamic configuration changes will be lost.</p>
+<a name="login">
+<h4>Login into Administration Site</h4>
+
+<p>From <a href="#homepage">Axis2 Web Application Home page</a> you can go to
+Administration page by following 'Administration' link, then login page shown
+below will appear requesting user name and a password. The default user name
+is 'admin' (without quotes) and default password is 'axis2' (without
+quotes).</p>
+
+<p align="center"><img alt="" src="images/adminlogin.jpg"></p>
+
+<p>You can change the user name &amp; password values by changing following
+two parameters in axis2.xml as required.</p>
+
+<p align="center"><img alt="" src="images/parameters.jpg"></p>
+
+<p>If the login is successful you will see the screen below. This is where
+you can view the configuration and the state of the running system and
+dynamically configure it.</p>
+
+<p align="center"><img alt="" src="images/admin.jpg"></p>
+
+    <a name="adminoptions"/>
+<h3>Administration Options</h3>
+<ul>
+    <a name="tools"/>
+  <b>Tools</b>
+  <ul>
+    <li><a href="#upservice">Upload Service</a></li>
+  </ul>
+    <a name="syscomponents"/>
+  <b>System components</b>
+  <ul>
+    <li><a href="#heading1">Available services</a></li>
+    <li><a href="#servgroups">Available service groups</a></li>
+    <li><a href="#avmodules">Available modules</a></li>
+    <li><a href="#globalmodules">Globally engaged modules</a></li>
+    <li><a href="#phases">Available phases</a></li>
+  </ul>
+    <a name="executionchains"/>
+  <b>Execution chains</b>
+  <ul>
+    <li><a href="#globalchains">Global chains</a></li>
+    <li><a href="#operationchains">Operation specific chains</a></li>
+  </ul>
+  <b><a href="#engaginmodule">Engage module</a></b> <br/>
+  <br/>
+    <a name="services"/>
+  <b>Services</b>
+  <ul>
+    <li><a href="#turnoffservice">Inactivate service</a></li>
+   <li><a href="#turnonservice">Activate service</a></li>
+    <li><a href="#editservicepara">Edit service parameters</a></li>
+  </ul>
+    <a name="context"/>
+  <b>Contexts</b>
+  <ul>
+    <li><a href="#viewhierarchy">View Hierarchy</a></li>
+  </ul>
+</ul>
+
+    <a name="homepage"/>
+<h3>Axis2 Web Application Home Page</h3>
+
+<p align="center"><strong><img alt="" src="images/clip_image006.jpg"></strong></p>
+
+    <a name="upservice"/>
+<h3>Upload Services</h3>
+
+<p>You can upload packaged Axis2<em> </em>service archive files using this
+page. This can be done in two simple steps:</p>
+<ul>
+  <li>Browse to the location and select the axisService archive file you wish
+    to upload</li>
+  <li>then click Upload</li>
+</ul>
+
+<p align="center"><img alt="" src="images/clip_image010.jpg"></p>
+
+<a name="heading1"></a>
+<h3>Available Services</h3>
+
+<p>The functionality of the 'Available Services' option is almost same as the
+functionality of Axis2 Web Application Home page 'Services' option where it
+displays the list of deployed services. But as an additional feature, if
+there are any modules engaged globally to services or operations those
+details will also be displayed here.</p>
+
+<p><strong>Faulty services</strong> of this system will also be listed on this page. Click on each faulty service, it will take you to a page that lists the exception stack trace of the excpetion that caused service to be faulty</p>
+
+<p align="center"><img alt="" src="images/adminmain.jpg"></p>
+
+<a name="servgroups"></a>
+<h3>Available Service Groups</h3>
+
+<p>Service group is a logical collection of set of services and 'Available
+Service Groups' link will list all the available service groups in the system
+.</p>
+
+<p align="center"><img alt="" src="images/servicegroups.jpg"></p>
+
+<a name="avmodules"></a>
+<h3>Available Modules</h3>
+
+<p>To view the available modules in the 'modules' directory of the
+'repository' click 'Available Modules' link. This will show you all the
+available modules in the system. Those modules can be engaged dynamically.</p>
+
+<p align="center"><img alt="" src="images/modules.jpg"></p>
+<br/>
+
+<a name="globalmodules"></a>
+<h3>Globally Engaged Modules</h3>
+
+<p>From the 'Globally Engaged Modules' link you can view globally engaged
+modules, if any. If a module was engaged globally then the handlers that
+belong to that module will be executed irrespective of the service.</p>
+<br/>
+
+<a name="phases"></a>
+<h3>Available Phases</h3>
+
+<p>'Available Phases' link will display all the available phases. In Axis2
+there are two levels of phases:</p>
+<ul>
+  <li>System predefined phases (not allowed to be changed)</li>
+  <li>User defined phases</li>
+</ul>
+
+<p>The main difference between these two levels is that system predefined
+phases will be invoked irrespective of the services, while user defined
+phases will be invoked when the dispatcher finds the operation. Note that it
+is essential for module developers and service writers to have a good
+understanding of phases and phase ordering.</p>
+<p align="center"><img alt="" src="images/viewphases.jpg"></p><br/>
+
+<a name="globalchains"></a>
+<h3>Global Chains</h3>
+
+<p>'Global Chains' link will display all the Global Execution Chains. The
+most interesting feature of Axis2 Web Administration Module is that it
+provides a very basic way of viewing the global phase list and handlers
+inside the phases depending on both phase and handler orders. This kind of
+information is extremely useful in debugging the system, as there is no other
+way to list out handlers in the global chains. If you engage a new module,
+the new handlers will be added to the global chains and displayed on this
+page.</p>
+
+<p align="center"><img alt="" src="images/globalchain.jpg"></p>
+<br/>
+
+<a name="operationchains"></a>
+<h3>Operation Specific Chains</h3>
+
+<p>The 'Operation Specific Chains' link can be used to view the handlers
+corresponding to a given service in the same order as it is in the real
+execution chain.</p>
+
+<p align="center"><img alt="" src="images/select_service_for_handler.jpg"></p><br/>
+
+<p>Select service of which's service handlers you wish to view from list box, and click on 'View' button to view handlers. The page below shows service handlers of service <em>version</em></p>
+
+<p align="center"><img alt="" src="images/serviceHandlers.jpg"></p>
+<br/>
+
+<a name="engaginmodule"></a>
+<h3>Engaging Modules</h3>
+
+<p>'Engaging Modules' link allows to engage modules either globally (to all
+services), to a service group, to a service or to an operation depending on
+the module implementation. If the module was designed to engage the handlers
+globally then handlers in the module can be included in any phase in the
+system. It can be either system predefined or user defined phase.</p>
+
+<p>On the other hand, if the module was implemented in such a way that it is
+going to be deployed to a service or to an operation, then the module cannot
+be included in any of the <a href="#phases">System Predefined Phases</a>.
+Thus it can only be included in <a href="#phases">User Defined Phases</a>.</p>
+
+<p>Immediately after engaging the module you can see the status of engagement
+indicating whether it is engaged properly or not.</p>
+
+<p align="center"><img alt="" src="images/moduleengage.jpg"></p>
+
+<p>&nbsp;</p>
+
+<a name="turnoffservice"></a>
+<h3>Inactivate Service</h3>
+
+<p>This functionality provide a way to remove unnecessary services from the
+running system, but the removal is transient which means if you restart the
+system the service will be available.</p>
+
+<p>To inactivate service, select service from list box, tick 'Inactivate service' check box, then click on 'Inactivate' button. 'Clear' button will clear the 'Inactivate service' check box</p>
+
+<p align="center"><img alt="" src="images/inactivate.jpg"></p>
+<br/>
+
+<a name="turnonservice"></a><h3>Activate Service</h3>
+<p>This functionality provide a way to activate services while the system is running, but the activation is transient which means if you restart the
+system the service will be inactive.</p>
+
+<p>To activate service, select service from list box, tick 'Activate service' check box, then click on 'Activate' button. 'Clear' button will clear the 'Activate service' check box</p>
+
+<p align="center"><img alt="" src="images/activate.jpg"></p>
+<br/>
+
+<a name="editservicepara"></a>
+<h3>Edit Service Parameters</h3>
+
+<p>This functionality provide a way to change parameters in a service or its
+operations.These changes will be transient too, which means if you restart
+the system changes will not be reflected.</p>
+
+<p>The Edit Parameters link under servies on navigation bar will link to page where you can select service to edit Parameters. Once service is selected click on 'Edit Parameters' button. This will lead to page below.</p>
+
+<p align="center"><img alt="" src="images/editserviecpara.jpg"></p>
+
+<a name="viewhierarchy"></a>
+<h3>View Hierarchy</h3>
+
+<p>By listing current context hierarchy 'View Hierarchy' link provides a
+means to look at the run time system. This will list out all the available
+service group contexts , service contexts , operation context and etc.</p>
+
+<p></p>
+</body>
+</html>



Mime
View raw message