You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2005/12/02 05:49:47 UTC
svn commit: r351584 - /webservices/axis2/trunk/java/xdocs/axis2config.html
Author: deepal
Date: Thu Dec 1 20:49:39 2005
New Revision: 351584
URL: http://svn.apache.org/viewcvs?rev=351584&view=rev
Log:
update axis2config file to cope with current implementation.
Modified:
webservices/axis2/trunk/java/xdocs/axis2config.html
Modified: webservices/axis2/trunk/java/xdocs/axis2config.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/axis2config.html?rev=351584&r1=351583&r2=351584&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/axis2config.html (original)
+++ webservices/axis2/trunk/java/xdocs/axis2config.html Thu Dec 1 20:49:39 2005
@@ -10,7 +10,7 @@
configure a service and the third one is to configure a module.
<ul>
<li><a href="#global">Global Configuration (axis2.xml)</a></li>
-<li><a href="#service">Service Configuration (service.xml)</a></li>
+<li><a href="#service">Service Configuration (services.xml)</a></li>
<li><a href="#module">Module Configuration (module.xml)</a></li>
</ul>
</p>
@@ -94,6 +94,70 @@
.
</phaseOrder>
</pre></source>
+
+The most interesting thing is that you can add handlers here as well , if you want to add a handler which should go in to that phase you can directly do that by adding a handler element into it . In addition to that there is no any hard coding stuffs for handler chain in anywhere in Axis2 (at any Axis*) , so all theose configuration are alos done here in phase order element. The complete configuration will look like as follows;
+
+<source><pre>
+<phaseOrder type="inflow"">
+ <!-- System pre defined phases --">
+ <phase name="TransportIn"/">
+ <phase name="PreDispatch"/">
+ <phase name="Dispatch"">
+ <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">
+ </phase">
+ <phase name="PostDispatch"">
+ <handler name="DispatchPostConditionsEvaluator"
+ class="org.apache.axis2.engine.DispatchingChecker"">
+ <order phase="PostDispatch"/">
+ </handler">
+ <handler name="InstanceDispatcher"
+ class="org.apache.axis2.engine.InstanceDispatcher"">
+ <order phase="PostDispatch"/">
+ </handler">
+ <handler name="SOAPProcessingModelChecker"
+ class="org.apache.axis2.engine.SOAPProcessingModelChecker"">
+ <order phase="PostDispatch"/">
+ </handler">
+ </phase">
+ <!-- System pre defined phases --">
+ <!-- After Postdispatch phase module author or or service author can add any phase he want --">
+ <phase name="userphase1"/">
+ </phaseOrder">
+ <phaseOrder type="outflow"">
+ <!-- user can add his own phases to this area --">
+ <phase name="userphase1"/">
+ <!--system predefined phase--">
+ <!--these phase 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="userphase1"/">
+ </phaseOrder">
+ <phaseOrder type="Outfaultflow"">
+ <!-- user can add his own phases to this area --">
+ <phase name="userphase1"/">
+ <phase name="PolicyDetermination"/">
+ <phase name="MessageOut"/">
+ </phaseOrder">
+</pre></source>
+
type: the attribute represent type of the flow and which can only be one of the following
</p>
<ul>
@@ -155,26 +219,17 @@
<font color="blue"><b>Service Configuration</b></font>
<li><a name="service"></a>Writing service.xml</li>
<p>
-The description of service is specified using service.xml, each service archive
-file need to have service.xml in order to be a valid service. And which has to be
+The description of service is specified using services.xml, each service archive
+file need to have services.xml in order to be a valid service. And which has to be
available in META-INF directory of the archive file.
<br>
-A very simple service.xml is shown below:
+A very simple services.xml is shown below:
<source><pre>
-<service name="Name of the service">
+<service >
<description> The description of the service </description>
<parameter name="ServiceClass" locked="xsd:false">org.apache.axis2.sample.echo.EchoImpl</parameter>
- <inflow>
- <handler name="logging" class="org.apache.axis2.sample.handlers.LoggingHandler">
- <order phase="userphase1" phaseFirst="true"/>
- </handler>
- </inflow>
- <outflow/>
- <INfaultflow>
.. </INfaultflow>
- <Outfaultflow>
.</Outfaultflow>
-
<operation name="echoString">
<module ref=" a module name "/>
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
@@ -182,8 +237,7 @@
</service>
</source></pre>
-service name: You can specify the name of the service, if you do not specify the
-service name then the archive file name will be the name of the service.
+service name: the service name will be the name of the archive file.
<br>
description: This is an optional element if you want to display any description
about the service via Axis2 web-admin module then the description can be specified here.
@@ -196,26 +250,6 @@
java class which really does the job and the class will be loaded by MessageReceiver.
</p>
<p>
-<b>Flow :</b><br>
-It is possible to add handlers into a flow directly form service.xml rather than
-engaging a modules and the way of doing that is through flow elements.
-It is possible to add any number of handlers into a flow and those handlers
-will be available in corresponding operations flows in the service
-(inflow consist of two parts, one part is up to post dispatch phase and other
-part is consisting of operation handlers)
-<br>
-There are four types of valid flows that can be available in service.xml,
- and the adding the handles into them can be done by following the above procedure.
-<br>
-Valid flows:
-<ul>
-<li>Inflow</li>
-<li>outflow</li>
-<li>INfaultflow</li>
-<li>Outfaultflow</li>
-</ul>
-</p>
-<p>
<b>Handler</b><br>
Handler element consists of compulsory and optional attribute and the way of defining a handler will be look like follows;
<source><pre>
@@ -286,10 +320,29 @@
<p>
<b>parameter:</b>
Module can contains any number of parameters and all the listed parameters in the module.xml will be transformed into corresponding ModuleDescription of the module.
-</p><p>
-<b>flow:</b>
-Flow concept is exactly the same as service flows.
-</p><p>
+</p
+<p>
+<b>Flow :</b><br>
+It is possible to add handlers into a flow directly form service.xml rather than
+engaging a modules and the way of doing that is through flow elements.
+It is possible to add any number of handlers into a flow and those handlers
+will be available in corresponding operations flows in the service
+(inflow consist of two parts, one part is up to post dispatch phase and other
+part is consisting of operation handlers)
+<br>
+There are four types of valid flows that can be available in service.xml,
+ and the adding the handles into them can be done by following the above procedure.
+<br>
+Valid flows:
+<ul>
+<li>Inflow</li>
+<li>outflow</li>
+<li>INfaultflow</li>
+<li>Outfaultflow</li>
+</ul>
+</p>
+
+<p>
<b>operations</b>
If a module wants to add an operation when it is engaged into a service it can be done by adding operation tag in module.xml and the way of specifying the operation is same as operation in service.xml.