Updating the code base to run off the axis2 1.1 release. 
Updated the Axis2.xml's
Updated the Skeletons
Updated the Handlers

Next Step: codegen for ws-at/ws-coor WSDL's during the build... Axis2 codegen is much more stable and efficient now, than when I originally decided to use the RawXML..

diff --git a/conf/AtomicTransactionCoordinator/meta-inf/services.xml b/conf/AtomicTransactionCoordinator/META-INF/services.xml
similarity index 100%
rename from conf/AtomicTransactionCoordinator/meta-inf/services.xml
rename to conf/AtomicTransactionCoordinator/META-INF/services.xml
diff --git a/conf/coordinator-axis2.xml b/conf/coordinator-axis2.xml
index f93aa75..ea045ae 100644
--- a/conf/coordinator-axis2.xml
+++ b/conf/coordinator-axis2.xml
@@ -1,168 +1,303 @@
-<axisconfig name="AxisJava2.0">

-    <!-- ================================================= -->

-    <!-- Parameters -->

-    <!-- ================================================= -->

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">false</parameter>

-    <parameter name="enableMTOM" locked="false">false</parameter>

-

-    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->

-    <!--that behaviour.-->

-    <parameter name="sendStacktraceDetailsWithFaults" locked="false">true</parameter>

-

-    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->

-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->

-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->

-    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->

-    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>

-

-    <!--This is the user name and password of admin console-->

-    <parameter name="userName" locked="false">admin</parameter>

-    <parameter name="password" locked="false">axis2</parameter>

-

-    <!-- ================================================= -->

-    <!-- Message Receivers -->

-    <!-- ================================================= -->

-    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->

-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->

-    <!--any operation -->

-    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->

-    <messageReceivers>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"

-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-    </messageReceivers>

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http"

-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">http://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <transportReceiver name="tcp"

-                       class="org.apache.axis2.transport.tcp.TCPServer">

-        <parameter name="port" locked="false">6061</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="tcp"

-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>

-    <transportSender name="local"

-                     class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="jms"

-                     class="org.apache.axis2.transport.jms.JMSSender"/>

-    <transportSender name="http"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

- 

- 	<!-- ================================================= -->

-    <!-- Global Modules  -->

-    <!-- ================================================= -->

-    <!-- Comment this to disable Addressing -->

-    <module ref="addressing"/>

-  

-

-    <!--Configuring module , providing parameters for modules whether they refer or not-->

-    <!--<moduleConfig name="addressing">-->

-    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->

-    <!--</moduleConfig>-->

-

-    <!-- ================================================= -->

-    <!-- Phases  -->

-    <!-- ================================================= -->

-    <phaseOrder type="inflow">

-        <!--  System pre defined phases       -->

-         <phase name="Transport">

-            <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>

-        </phase>

-        <phase name="Security"/>

-        <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="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 or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-    </phaseOrder>

-    <phaseOrder type="outflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-    <phaseOrder type="INfaultflow">

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <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="AddressingBasedDispatcher"

-                     class="org.apache.axis2.engine.AddressingBasedDispatcher">

-                <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>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-    </phaseOrder>

-    <phaseOrder type="Outfaultflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-</axisconfig>

+<!--
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+ 
+<axisconfig name="AxisJava2.0">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment" locked="false">true</parameter>
+    <parameter name="hotupdate" locked="false">false</parameter>
+    <parameter name="enableMTOM" locked="false">false</parameter>
+    <parameter name="enableSwA" locked="false">false</parameter>
+
+    <!--Uncomment if you want to enable file caching for attachments -->
+    <!--parameter name="cacheAttachments" locked="false">true</parameter>
+    <parameter name="attachmentDIR" locked="false"></parameter>
+    <parameter name="sizeThreshold" locked="false">4000</parameter-->
+
+    <!--This will give out the timout of the configuration contexts, in seconds-->
+    <parameter name="ConfigContextTimeoutInterval" locked="false">30</parameter>
+
+    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
+    <!--that behaviour.-->
+    <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</parameter>
+
+    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
+    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
+
+    <parameter name="userName" locked="false">admin</parameter>
+    <parameter name="password" locked="false">axis2</parameter>
+
+    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+    <!--<parameter name="ServicesDirectory" locked="false">service</parameter>-->
+    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+    <!--<parameter name="ModulesDirectory" locked="false">modules</parameter>-->
+
+
+
+    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+    <!--root which can configured using the following contextRoot parameter-->
+    <!--<parameter name="contextRoot" locked="false">axis2</parameter>-->
+
+    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints-->
+    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
+    <!--context path to proper Axis2 servlets-->
+    <!--<parameter name="servicePath" locked="false">services</parameter>-->
+    <!--<parameter name="restPath" locked="false">rest</parameter>-->
+
+
+    <!--Set the flag to true if you want to enable transport level session mangment-->
+    <parameter name="manageTransportSession" locked="false">false</parameter>
+
+    <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two-->
+    <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following-->
+    <!--parameters help to tweak the message handling of two main servlets. -->
+
+    <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages -->
+    <parameter name="enableRESTInAxis2MainServlet" locked="true">false</parameter>
+
+    <!-- Following parameter will completely disable REST handling in both the servlets-->
+    <parameter name="disableREST" locked="true">false</parameter>
+
+    <!-- This will disable the separate servlet we have for REST handling. -->
+    <parameter name="disableSeparateEndpointForREST" locked="true">false</parameter>
+
+    <!-- If you have a frontend host which exposes this webservice using a different public URL  -->
+    <!-- use this parameter to override autodetected url -->
+    <!--<parameter name="httpFrontendHostUrl" locked="false">https://someotherhost/context</parameter>-->
+
+
+    <!--    The way of adding listener to the system-->
+    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
+    <!--        <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
+    <!--    </listener>-->
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
+    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+    <!--any operation -->
+    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
+    <messageReceivers>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </messageReceivers>
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http"
+                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" locked="false">8080</parameter>
+        <!-- Here is the complete list of supported parameters (see example settings further below):
+            port: the port to listen on (default 6060)
+            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
+            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
+            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
+            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
+                                false to minimize bandwidth consumption by combining segments
+            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
+            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills us         (default 150)
+                                       note that default queue never fills up:  see HttpFactory
+            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
+                                  note that no such threads can exist with default unbounded request queue
+            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
+        -->
+        <!-- <parameter name="hostname"                  locked="false">http://www.myApp.com/ws</parameter> -->
+        <!-- <parameter name="originServer"              locked="false">My-Server/1.1</parameter>           -->
+        <!-- <parameter name="requestTimeout"            locked="false">10000</parameter>                   -->
+        <!-- <parameter name="requestTcpNoDelay"         locked="false">false</parameter>                   -->
+        <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter>                      -->
+        <!-- <parameter name="RequestMaxThreadPoolSize"  locked="false">100</parameter>                     -->
+        <!-- <parameter name="threadKeepAliveTime"       locked="false">240000</parameter>                  -->
+        <!-- <parameter name="threadKeepAliveTimeUnit"   locked="false">MILLISECONDS</parameter>            -->
+    </transportReceiver>
+    
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
+        <parameter name="myTopicConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="myQueueConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="default" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+    </transportReceiver>-->
+
+    <!--Uncomment if you want to have SMTP transport support-->
+    <!--<transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">-->
+    <!--<parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>-->
+    <!--<parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.port" locked="false">110</parameter>-->
+    <!--<parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>-->
+    <!--</transportReceiver>-->
+
+	<!--Uncomment if you want to have TCP transport support-->
+    <!--transportReceiver name="tcp"
+                       class="org.apache.axis2.transport.tcp.TCPServer">
+        <parameter name="port" locked="false">6060</parameter-->>
+        <!--If you want to give your own host address for EPR generation-->
+        <!--uncommet following paramter , and set as you required.-->
+        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->
+    <!-- /transportReceiver -->
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="tcp"
+                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+    <transportSender name="local"
+                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <transportSender name="http"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportSender name="jms"
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
+    -->
+
+    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+   <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
+       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
+       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
+   </transportSender>
+   -->
+
+    <!-- ================================================= -->
+    <!-- Global Modules  -->
+    <!-- ================================================= -->
+    <!-- Comment this to disable Addressing -->
+    <module ref="addressing"/>
+
+    <!--Configuring module , providing parameters for modules whether they refer or not-->
+    <!--<moduleConfig name="addressing">-->
+    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
+    <!--</moduleConfig>-->
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="InFlow">
+        <!--  System pre defined phases       -->
+        <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <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="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <!--  System pre defined phases       -->
+        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
+        <phase name="OperationInPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <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="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <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>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>
\ No newline at end of file
diff --git a/conf/initiator-axis2.xml b/conf/initiator-axis2.xml
index d854731..5e2729d 100644
--- a/conf/initiator-axis2.xml
+++ b/conf/initiator-axis2.xml
@@ -1,169 +1,304 @@
-<axisconfig name="AxisJava2.0">

-    <!-- ================================================= -->

-    <!-- Parameters -->

-    <!-- ================================================= -->

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">false</parameter>

-    <parameter name="enableMTOM" locked="false">false</parameter>

-

-    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->

-    <!--that behaviour.-->

-    <parameter name="sendStacktraceDetailsWithFaults" locked="false">true</parameter>

-

-    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->

-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->

-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->

-    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->

-    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>

-

-    <!--This is the user name and password of admin console-->

-    <parameter name="userName" locked="false">admin</parameter>

-    <parameter name="password" locked="false">axis2</parameter>

-

-    <!-- ================================================= -->

-    <!-- Message Receivers -->

-    <!-- ================================================= -->

-    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->

-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->

-    <!--any operation -->

-    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->

-    <messageReceivers>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"

-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-    </messageReceivers>

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http"

-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">http://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <transportReceiver name="tcp"

-                       class="org.apache.axis2.transport.tcp.TCPServer">

-        <parameter name="port" locked="false">6061</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="tcp"

-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>

-    <transportSender name="local"

-                     class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="jms"

-                     class="org.apache.axis2.transport.jms.JMSSender"/>

-    <transportSender name="http"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

-

-    <!-- ================================================= -->

-    <!-- Global Modules  -->

-    <!-- ================================================= -->

-    <!-- Comment this to disable Addressing -->

-    <module ref="addressing"/>

-    <module ref="kandula-outflow"/>

-

-

-    <!--Configuring module , providing parameters for modules whether they refer or not-->

-    <!--<moduleConfig name="addressing">-->

-    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->

-    <!--</moduleConfig>-->

-

-    <!-- ================================================= -->

-    <!-- Phases  -->

-    <!-- ================================================= -->

-    <phaseOrder type="inflow">

-        <!--  System pre defined phases       -->

-         <phase name="Transport">

-            <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>

-        </phase>

-        <phase name="Security"/>

-        <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="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 or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-    </phaseOrder>

-    <phaseOrder type="outflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-    <phaseOrder type="INfaultflow">

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <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="AddressingBasedDispatcher"

-                     class="org.apache.axis2.engine.AddressingBasedDispatcher">

-                <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>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-    </phaseOrder>

-    <phaseOrder type="Outfaultflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-</axisconfig>

+<!--
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+ 
+<axisconfig name="AxisJava2.0">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment" locked="false">true</parameter>
+    <parameter name="hotupdate" locked="false">false</parameter>
+    <parameter name="enableMTOM" locked="false">false</parameter>
+    <parameter name="enableSwA" locked="false">false</parameter>
+
+    <!--Uncomment if you want to enable file caching for attachments -->
+    <!--parameter name="cacheAttachments" locked="false">true</parameter>
+    <parameter name="attachmentDIR" locked="false"></parameter>
+    <parameter name="sizeThreshold" locked="false">4000</parameter-->
+
+    <!--This will give out the timout of the configuration contexts, in seconds-->
+    <parameter name="ConfigContextTimeoutInterval" locked="false">30</parameter>
+
+    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
+    <!--that behaviour.-->
+    <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</parameter>
+
+    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
+    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
+
+    <parameter name="userName" locked="false">admin</parameter>
+    <parameter name="password" locked="false">axis2</parameter>
+
+    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+    <!--<parameter name="ServicesDirectory" locked="false">service</parameter>-->
+    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+    <!--<parameter name="ModulesDirectory" locked="false">modules</parameter>-->
+
+
+
+    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+    <!--root which can configured using the following contextRoot parameter-->
+    <!--<parameter name="contextRoot" locked="false">axis2</parameter>-->
+
+    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints-->
+    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
+    <!--context path to proper Axis2 servlets-->
+    <!--<parameter name="servicePath" locked="false">services</parameter>-->
+    <!--<parameter name="restPath" locked="false">rest</parameter>-->
+
+
+    <!--Set the flag to true if you want to enable transport level session mangment-->
+    <parameter name="manageTransportSession" locked="false">false</parameter>
+
+    <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two-->
+    <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following-->
+    <!--parameters help to tweak the message handling of two main servlets. -->
+
+    <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages -->
+    <parameter name="enableRESTInAxis2MainServlet" locked="true">false</parameter>
+
+    <!-- Following parameter will completely disable REST handling in both the servlets-->
+    <parameter name="disableREST" locked="true">false</parameter>
+
+    <!-- This will disable the separate servlet we have for REST handling. -->
+    <parameter name="disableSeparateEndpointForREST" locked="true">false</parameter>
+
+    <!-- If you have a frontend host which exposes this webservice using a different public URL  -->
+    <!-- use this parameter to override autodetected url -->
+    <!--<parameter name="httpFrontendHostUrl" locked="false">https://someotherhost/context</parameter>-->
+
+
+    <!--    The way of adding listener to the system-->
+    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
+    <!--        <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
+    <!--    </listener>-->
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
+    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+    <!--any operation -->
+    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
+    <messageReceivers>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </messageReceivers>
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http"
+                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" locked="false">8080</parameter>
+        <!-- Here is the complete list of supported parameters (see example settings further below):
+            port: the port to listen on (default 6060)
+            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
+            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
+            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
+            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
+                                false to minimize bandwidth consumption by combining segments
+            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
+            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills us         (default 150)
+                                       note that default queue never fills up:  see HttpFactory
+            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
+                                  note that no such threads can exist with default unbounded request queue
+            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
+        -->
+        <!-- <parameter name="hostname"                  locked="false">http://www.myApp.com/ws</parameter> -->
+        <!-- <parameter name="originServer"              locked="false">My-Server/1.1</parameter>           -->
+        <!-- <parameter name="requestTimeout"            locked="false">10000</parameter>                   -->
+        <!-- <parameter name="requestTcpNoDelay"         locked="false">false</parameter>                   -->
+        <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter>                      -->
+        <!-- <parameter name="RequestMaxThreadPoolSize"  locked="false">100</parameter>                     -->
+        <!-- <parameter name="threadKeepAliveTime"       locked="false">240000</parameter>                  -->
+        <!-- <parameter name="threadKeepAliveTimeUnit"   locked="false">MILLISECONDS</parameter>            -->
+    </transportReceiver>
+    
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
+        <parameter name="myTopicConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="myQueueConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="default" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+    </transportReceiver>-->
+
+    <!--Uncomment if you want to have SMTP transport support-->
+    <!--<transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">-->
+    <!--<parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>-->
+    <!--<parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.port" locked="false">110</parameter>-->
+    <!--<parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>-->
+    <!--</transportReceiver>-->
+
+	<!--Uncomment if you want to have TCP transport support-->
+    <!--transportReceiver name="tcp"
+                       class="org.apache.axis2.transport.tcp.TCPServer">
+        <parameter name="port" locked="false">6060</parameter-->>
+        <!--If you want to give your own host address for EPR generation-->
+        <!--uncommet following paramter , and set as you required.-->
+        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->
+    <!-- /transportReceiver -->
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="tcp"
+                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+    <transportSender name="local"
+                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <transportSender name="http"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportSender name="jms"
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
+    -->
+
+    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+   <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
+       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
+       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
+   </transportSender>
+   -->
+
+    <!-- ================================================= -->
+    <!-- Global Modules  -->
+    <!-- ================================================= -->
+    <!-- Comment this to disable Addressing -->
+    <module ref="addressing"/>
+    <module ref="kandula-outflow"/>
+
+    <!--Configuring module , providing parameters for modules whether they refer or not-->
+    <!--<moduleConfig name="addressing">-->
+    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
+    <!--</moduleConfig>-->
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="InFlow">
+        <!--  System pre defined phases       -->
+        <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <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="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <!--  System pre defined phases       -->
+        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
+        <phase name="OperationInPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <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="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <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>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>
\ No newline at end of file
diff --git a/conf/participant-axis2.xml b/conf/participant-axis2.xml
index 30a32cd..71594a2 100644
--- a/conf/participant-axis2.xml
+++ b/conf/participant-axis2.xml
@@ -1,157 +1,304 @@
-<axisconfig name="AxisJava2.0">

-    <!-- ================================================= -->

-    <!-- Parameters -->

-    <!-- ================================================= -->

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">false</parameter>

-    <parameter name="enableMTOM" locked="false">false</parameter>

-

-    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->

-    <!--that behaviour.-->

-    <parameter name="sendStacktraceDetailsWithFaults" locked="false">true</parameter>

-

-    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->

-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->

-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->

-    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->

-    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>

-

-    <!--This is the user name and password of admin console-->

-    <parameter name="userName" locked="false">admin</parameter>

-    <parameter name="password" locked="false">axis2</parameter>

-

-    <!-- ================================================= -->

-    <!-- Message Receivers -->

-    <!-- ================================================= -->

-    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->

-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->

-    <!--any operation -->

-    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->

-    <messageReceivers>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"

-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>

-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-    </messageReceivers>

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http"

-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">http://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <transportReceiver name="tcp"

-                       class="org.apache.axis2.transport.tcp.TCPServer">

-        <parameter name="port" locked="false">6061</parameter>

-        <!--If you want to give your own host address for EPR generation-->

-        <!--uncommet following paramter , and set as you required.-->

-        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->

-    </transportReceiver>

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="tcp"

-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>

-    <transportSender name="local"

-                     class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="jms"

-                     class="org.apache.axis2.transport.jms.JMSSender"/>

-    <transportSender name="http"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

-    </transportSender>

-

-    <!-- ================================================= -->

-    <!-- Phases  -->

-    <!-- ================================================= -->

-    <phaseOrder type="inflow">

-        <!--  System pre defined phases       -->

-         <phase name="Transport">

-            <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>

-        </phase>

-        <phase name="Security"/>

-        <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="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 or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-    </phaseOrder>

-    <phaseOrder type="outflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-    <phaseOrder type="INfaultflow">

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <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="AddressingBasedDispatcher"

-                     class="org.apache.axis2.engine.AddressingBasedDispatcher">

-                <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>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-    </phaseOrder>

-    <phaseOrder type="Outfaultflow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-    </phaseOrder>

-</axisconfig>

-

+<!--
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+ 
+<axisconfig name="AxisJava2.0">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment" locked="false">true</parameter>
+    <parameter name="hotupdate" locked="false">false</parameter>
+    <parameter name="enableMTOM" locked="false">false</parameter>
+    <parameter name="enableSwA" locked="false">false</parameter>
+
+    <!--Uncomment if you want to enable file caching for attachments -->
+    <!--parameter name="cacheAttachments" locked="false">true</parameter>
+    <parameter name="attachmentDIR" locked="false"></parameter>
+    <parameter name="sizeThreshold" locked="false">4000</parameter-->
+
+    <!--This will give out the timout of the configuration contexts, in seconds-->
+    <parameter name="ConfigContextTimeoutInterval" locked="false">30</parameter>
+
+    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
+    <!--that behaviour.-->
+    <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</parameter>
+
+    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
+    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
+
+    <parameter name="userName" locked="false">admin</parameter>
+    <parameter name="password" locked="false">axis2</parameter>
+
+    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+    <!--<parameter name="ServicesDirectory" locked="false">service</parameter>-->
+    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+    <!--<parameter name="ModulesDirectory" locked="false">modules</parameter>-->
+
+
+
+    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+    <!--root which can configured using the following contextRoot parameter-->
+    <!--<parameter name="contextRoot" locked="false">axis2</parameter>-->
+
+    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints-->
+    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
+    <!--context path to proper Axis2 servlets-->
+    <!--<parameter name="servicePath" locked="false">services</parameter>-->
+    <!--<parameter name="restPath" locked="false">rest</parameter>-->
+
+
+    <!--Set the flag to true if you want to enable transport level session mangment-->
+    <parameter name="manageTransportSession" locked="false">false</parameter>
+
+    <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two-->
+    <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following-->
+    <!--parameters help to tweak the message handling of two main servlets. -->
+
+    <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages -->
+    <parameter name="enableRESTInAxis2MainServlet" locked="true">false</parameter>
+
+    <!-- Following parameter will completely disable REST handling in both the servlets-->
+    <parameter name="disableREST" locked="true">false</parameter>
+
+    <!-- This will disable the separate servlet we have for REST handling. -->
+    <parameter name="disableSeparateEndpointForREST" locked="true">false</parameter>
+
+    <!-- If you have a frontend host which exposes this webservice using a different public URL  -->
+    <!-- use this parameter to override autodetected url -->
+    <!--<parameter name="httpFrontendHostUrl" locked="false">https://someotherhost/context</parameter>-->
+
+
+    <!--    The way of adding listener to the system-->
+    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
+    <!--        <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
+    <!--    </listener>-->
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
+    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+    <!--any operation -->
+    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
+    <messageReceivers>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </messageReceivers>
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http"
+                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" locked="false">8080</parameter>
+        <!-- Here is the complete list of supported parameters (see example settings further below):
+            port: the port to listen on (default 6060)
+            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
+            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
+            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
+            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
+                                false to minimize bandwidth consumption by combining segments
+            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
+            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills us         (default 150)
+                                       note that default queue never fills up:  see HttpFactory
+            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
+                                  note that no such threads can exist with default unbounded request queue
+            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
+        -->
+        <!-- <parameter name="hostname"                  locked="false">http://www.myApp.com/ws</parameter> -->
+        <!-- <parameter name="originServer"              locked="false">My-Server/1.1</parameter>           -->
+        <!-- <parameter name="requestTimeout"            locked="false">10000</parameter>                   -->
+        <!-- <parameter name="requestTcpNoDelay"         locked="false">false</parameter>                   -->
+        <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter>                      -->
+        <!-- <parameter name="RequestMaxThreadPoolSize"  locked="false">100</parameter>                     -->
+        <!-- <parameter name="threadKeepAliveTime"       locked="false">240000</parameter>                  -->
+        <!-- <parameter name="threadKeepAliveTimeUnit"   locked="false">MILLISECONDS</parameter>            -->
+    </transportReceiver>
+    
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
+        <parameter name="myTopicConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="myQueueConnectionFactory" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+
+        <parameter name="default" locked="false">        	        	
+        	<parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+        	<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>        	
+        	<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
+        </parameter>
+    </transportReceiver>-->
+
+    <!--Uncomment if you want to have SMTP transport support-->
+    <!--<transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">-->
+    <!--<parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>-->
+    <!--<parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>-->
+    <!--<parameter name="transport.mail.pop3.port" locked="false">110</parameter>-->
+    <!--<parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>-->
+    <!--</transportReceiver>-->
+
+	<!--Uncomment if you want to have TCP transport support-->
+    <!--transportReceiver name="tcp"
+                       class="org.apache.axis2.transport.tcp.TCPServer">
+        <parameter name="port" locked="false">6060</parameter-->>
+        <!--If you want to give your own host address for EPR generation-->
+        <!--uncommet following paramter , and set as you required.-->
+        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->
+    <!-- /transportReceiver -->
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="tcp"
+                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+    <transportSender name="local"
+                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <transportSender name="http"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
+    <transportSender name="jms"
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
+    -->
+
+    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+   <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
+       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
+       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
+   </transportSender>
+   -->
+
+    <!-- ================================================= -->
+    <!-- Global Modules  -->
+    <!-- ================================================= -->
+    <!-- Comment this to disable Addressing -->
+    <module ref="addressing"/>
+
+    <!--Configuring module , providing parameters for modules whether they refer or not-->
+    <!--<moduleConfig name="addressing">-->
+    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
+    <!--</moduleConfig>-->
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="InFlow">
+        <!--  System pre defined phases       -->
+        <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <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="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <!--  System pre defined phases       -->
+        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
+        <phase name="OperationInPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <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="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <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>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+	<phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+	<phase name="soapmonitorPhase"/>
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>
+
diff --git a/maven.xml b/maven.xml
index 2e14b8a..8b35860 100644
--- a/maven.xml
+++ b/maven.xml
@@ -1,125 +1,118 @@
 <?xml version="1.0" encoding="UTF-8"?>

-<project default="jar"

-	xmlns:j="jelly:core"

-    xmlns:maven="jelly:maven"

-    xmlns:deploy="deploy"

-    xmlns:ant="jelly:ant">

-    

-    <goal name="setclasspath">

-        <path id="test.classpath">

-            <path refid="maven.dependency.classpath"/>

-        </path>

-    </goal>

-    

-    <postGoal name="test:compile">

-    <mkdir dir="${basedir}/target/lib"/>

-    <deploy:copy-deps todir="${basedir}/target/lib"/>

+<project default="jar" xmlns:j="jelly:core" xmlns:maven="jelly:maven" xmlns:deploy="deploy" xmlns:ant="jelly:ant">

 

-	<echo message="----------------Creating ActivationCoordinator.aar----------------"/>

-	<mkdir dir="target/services/ActivationCoordinator/META-INF"/>

-        <copy file="conf/ActivationCoordinator/META-INF/services.xml"

-            tofile="target/services/ActivationCoordinator/META-INF/services.xml"/>

-        <jar jarfile="target/ActivationCoordinator.aar" 			basedir="target/services/ActivationCoordinator">

-            <include name="**"/>

-        </jar>

+	<goal name="setclasspath">

+		<path id="test.classpath">

+			<path refid="maven.dependency.classpath" />

+		</path>

+	</goal>

 

-	<echo message="----------------Creating AtomicTransactionCoordinator.aar----------------"/>

-	<mkdir dir="target/services/AtomicTransactionCoordinator/META-INF"/>

-        <copy file="conf/AtomicTransactionCoordinator/META-INF/services.xml"

-            tofile="target/services/AtomicTransactionCoordinator/META-INF/services.xml"/>

-        <jar jarfile="target/AtomicTransactionCoordinator.aar" 					basedir="target/services/AtomicTransactionCoordinator">

-            <include name="**"/>

-        </jar>

+	<goal name="generate:code">

+		<java classname="org.apache.axis2.wsdl.WSDL2Java">

+			<arg value="-uri" />

+			<arg value="${basedir}/resources/MTOMSample.wsdl" />

+			<arg value="-ss" />

+			<arg value="-sd" />

+			<arg value="-p" />

+			<arg value="sample.mtom.service" />

+			<arg value="-o" />

+			<arg value="${service.dir}" />

+			<classpath refid="class.path" />

+		</java>

+		<copy file="${skeleton.path}" tofile="${service.dir}/${skeleton.path}" overwrite="true" />

+		<antcall target="jar.server" />

+		<copy file="${service.dir}/sample-mtom.aar" tofile="../../repository/services/sample-mtom.aar" overwrite="true" />

+	</goal>

+

+	<postGoal name="test:compile">

+		<mkdir dir="${basedir}/target/lib" />

+		<deploy:copy-deps todir="${basedir}/target/lib" />

+

+		<echo message="----------------Creating ActivationCoordinator.aar----------------" />

+		<mkdir dir="target/services/ActivationCoordinator/META-INF" />

+		<copy file="conf/ActivationCoordinator/META-INF/services.xml" tofile="target/services/ActivationCoordinator/META-INF/services.xml" />

+		<jar jarfile="target/ActivationCoordinator.aar" basedir="target/services/ActivationCoordinator">

+			<include name="**" />

+		</jar>

+

+		<echo message="----------------Creating AtomicTransactionCoordinator.aar----------------" />

+		<mkdir dir="target/services/AtomicTransactionCoordinator/META-INF" />

+		<copy file="conf/AtomicTransactionCoordinator/META-INF/services.xml" tofile="target/services/AtomicTransactionCoordinator/META-INF/services.xml" />

+		<jar jarfile="target/AtomicTransactionCoordinator.aar" basedir="target/services/AtomicTransactionCoordinator">

+			<include name="**" />

+		</jar>

 

 

-	<echo message="----------------Creating AtomicTransactionParticipant.aar----------------"/>

-	<mkdir dir="target/services/AtomicTransactionParticipant/META-INF"/>

-        <copy file="conf/AtomicTransactionParticipant/META-INF/services.xml"

-            tofile="target/services/AtomicTransactionParticipant/META-INF/services.xml"/>

-        <jar jarfile="target/AtomicTransactionParticipant.aar" 					basedir="target/services/AtomicTransactionParticipant">

-            <include name="**"/>

-        </jar>

+		<echo message="----------------Creating AtomicTransactionParticipant.aar----------------" />

+		<mkdir dir="target/services/AtomicTransactionParticipant/META-INF" />

+		<copy file="conf/AtomicTransactionParticipant/META-INF/services.xml" tofile="target/services/AtomicTransactionParticipant/META-INF/services.xml" />

+		<jar jarfile="target/AtomicTransactionParticipant.aar" basedir="target/services/AtomicTransactionParticipant">

+			<include name="**" />

+		</jar>

 

 

-	<echo message="----------------Creating CompletionCoordinator.aar----------------"/>

-	<mkdir dir="target/services/CompletionCoordinator/META-INF"/>

-        <copy file="conf/CompletionCoordinator/META-INF/services.xml"

-            tofile="target/services/CompletionCoordinator/META-INF/services.xml"/>

-        <jar jarfile="target/CompletionCoordinator.aar" 					basedir="target/services/CompletionCoordinator">

-            <include name="**"/>

-        </jar>

+		<echo message="----------------Creating CompletionCoordinator.aar----------------" />

+		<mkdir dir="target/services/CompletionCoordinator/META-INF" />

+		<copy file="conf/CompletionCoordinator/META-INF/services.xml" tofile="target/services/CompletionCoordinator/META-INF/services.xml" />

+		<jar jarfile="target/CompletionCoordinator.aar" basedir="target/services/CompletionCoordinator">

+			<include name="**" />

+		</jar>

 

 

-	<echo message="----------------Creating RegistrationCoordinator.aar----------------"/>

-	<mkdir dir="target/services/RegistrationCoordinator/META-INF"/>

-        <copy file="conf/RegistrationCoordinator/META-INF/services.xml"

-            tofile="target/services/RegistrationCoordinator/META-INF/services.xml"/>

-        <jar jarfile="target/RegistrationCoordinator.aar" 					basedir="target/services/RegistrationCoordinator">

-            <include name="**"/>

-        </jar>

+		<echo message="----------------Creating RegistrationCoordinator.aar----------------" />

+		<mkdir dir="target/services/RegistrationCoordinator/META-INF" />

+		<copy file="conf/RegistrationCoordinator/META-INF/services.xml" tofile="target/services/RegistrationCoordinator/META-INF/services.xml" />

+		<jar jarfile="target/RegistrationCoordinator.aar" basedir="target/services/RegistrationCoordinator">

+			<include name="**" />

+		</jar>

 

-	<echo message="----------------Creating Kandula-inflow.mar----------------"/>

-	<mkdir dir="target/modules/kandula-inflow/META-INF"/>

-        <copy file="conf/inflow-module.xml"

-            tofile="target/modules/kandula-inflow/META-INF/module.xml"/>

-        <jar jarfile="target/kandula-inflow-0.1.mar" 	basedir="target/modules/kandula-inflow">

-            <include name="**"/>

-        </jar>

+		<echo message="----------------Creating Kandula-inflow.mar----------------" />

+		<mkdir dir="target/modules/kandula-inflow/META-INF" />

+		<copy file="conf/inflow-module.xml" tofile="target/modules/kandula-inflow/META-INF/module.xml" />

+		<jar jarfile="target/kandula-inflow-${pom.currentVersion}.mar" basedir="target/modules/kandula-inflow">

+			<include name="**" />

+		</jar>

 

-	<echo message="----------------Creating Kandula-outflow.mar----------------"/>

-	<mkdir dir="target/modules/kandula-outflow/META-INF"/>

-        <copy file="conf/outflow-module.xml"

-            tofile="target/modules/kandula-outflow/META-INF/module.xml"/>

-        <jar jarfile="target/kandula-outflow-0.1.mar" 	basedir="target/modules/kandula-outflow">

-            <include name="**"/>

-        </jar>

+		<echo message="----------------Creating Kandula-outflow.mar----------------" />

+		<mkdir dir="target/modules/kandula-outflow/META-INF" />

+		<copy file="conf/outflow-module.xml" tofile="target/modules/kandula-outflow/META-INF/module.xml" />

+		<jar jarfile="target/kandula-outflow-${pom.currentVersion}.mar" basedir="target/modules/kandula-outflow">

+			<include name="**" />

+		</jar>

 

 

-	<echo message="-----------Creating Coordinator+participant test repository----------"/>

-	<mkdir dir="target/testing-repository"/>

-        <copy file="target/ActivationCoordinator.aar"

-            tofile="target/testing-repository/services/ActivationCoordinator.aar"/>

-	 <copy file="target/AtomicTransactionCoordinator.aar"

-            tofile="target/testing-repository/services/AtomicTransactionCoordinator.aar"/>

-	 <copy file="target/AtomicTransactionParticipant.aar"

-            tofile="target/testing-repository/services/AtomicTransactionParticipant.aar"/>

-	 <copy file="target/CompletionCoordinator.aar"

-            tofile="target/testing-repository/services/CompletionCoordinator.aar"/>

-	 <copy file="target/RegistrationCoordinator.aar"

-            tofile="target/testing-repository/services/RegistrationCoordinator.aar"/>

-         <mkdir dir="target/testing-repository/modules"/>

-	 <copy file="target/kandula-inflow-0.1.mar"

-            tofile="target/testing-repository/modules/kandula-inflow-0.1.mar"/>

-	 <copy file="modules/addressing-1.0.mar"

-            tofile="target/testing-repository/modules/addressing-1.0.mar"/>

-	 <copy file="conf/coordinator-axis2.xml"

-            tofile="target/testing-repository/axis2.xml"/>

+		<echo message="-----------Creating Coordinator+participant test repository----------" />

+		<mkdir dir="target/testing-repository" />

+		<copy file="target/ActivationCoordinator.aar" tofile="target/testing-repository/services/ActivationCoordinator.aar" />

+		<copy file="target/AtomicTransactionCoordinator.aar" tofile="target/testing-repository/services/AtomicTransactionCoordinator.aar" />

+		<copy file="target/AtomicTransactionParticipant.aar" tofile="target/testing-repository/services/AtomicTransactionParticipant.aar" />

+		<copy file="target/CompletionCoordinator.aar" tofile="target/testing-repository/services/CompletionCoordinator.aar" />

+		<copy file="target/RegistrationCoordinator.aar" tofile="target/testing-repository/services/RegistrationCoordinator.aar" />

+		<mkdir dir="target/testing-repository/modules" />

+		<copy file="target/kandula-inflow-${pom.currentVersion}.mar" tofile="target/testing-repository/modules/kandula-inflow-${pom.currentVersion}.mar" />

+		<copy file="modules/addressing-${axis2.version}.mar" tofile="target/testing-repository/modules/addressing-${axis2.version}.mar" />

+		<copy file="conf/coordinator-axis2.xml" tofile="target/testing-repository/axis2.xml" />

 

-	<echo message="----------------Creating KandulaDemoService.aar----------------"/>

-  <ant:copy todir="${samples.dir}/version/src">

-            <ant:fileset dir="src">

-                <ant:include name="sample/axisversion/**"/>

-            </ant:fileset>

-        </ant:copy>

-	<mkdir dir="target/services/KandulaDemoService/META-INF"/>

-        <copy file="test-resources/KandulaDemoService/META-INF/services.xml"

-            tofile="target/services/KandulaDemoService/META-INF/services.xml"/>

-        <jar jarfile="target/KandulaDemoService.aar" basedir="target/services/KandulaDemoService">

-            <include name="**"/>

-        </jar>

-	<copy file="target/KandulaDemoService.aar"

-            tofile="target/testing-repository/services/KandulaDemoService.aar"/>

-        

-	<echo message="-----------Creating Initiator test repository----------"/>

-        <mkdir dir="target/initiator-repository"/>

-	<mkdir dir="target/initiator-repository/modules"/>

-	<copy file="target/kandula-outflow-0.1.mar"

-            tofile="target/initiator-repository/modules/kandula-outflow-0.1.mar"/>

- 	<copy file="modules/addressing-1.0.mar"

-            tofile="target/initiator-repository/modules/addressing-1.0.mar"/>

-	 <copy file="conf/initiator-axis2.xml"

-            tofile="target/initiator-repository/axis2.xml"/>       

-       

-    </postGoal>

-    

+		<echo message="----------------Creating KandulaDemoService.aar----------------" />

+		<ant:copy todir="${samples.dir}/version/src">

+			<ant:fileset dir="src">

+				<ant:include name="sample/axisversion/**" />

+			</ant:fileset>

+		</ant:copy>

+		<mkdir dir="target/services/KandulaDemoService/META-INF" />

+		<copy file="test-resources/KandulaDemoService/META-INF/services.xml" tofile="target/services/KandulaDemoService/META-INF/services.xml" />

+		<jar jarfile="target/KandulaDemoService.aar" basedir="target/services/KandulaDemoService">

+			<include name="**" />

+		</jar>

+		<copy file="target/KandulaDemoService.aar" tofile="target/testing-repository/services/KandulaDemoService.aar" />

+

+		<echo message="-----------Creating Initiator test repository----------" />

+		<mkdir dir="target/initiator-repository" />

+		<mkdir dir="target/initiator-repository/modules" />

+		<copy file="target/kandula-outflow-${pom.currentVersion}.mar" tofile="target/initiator-repository/modules/kandula-outflow-${pom.currentVersion}.mar" />

+		<copy file="modules/addressing-${axis2.version}.mar" tofile="target/initiator-repository/modules/addressing-${axis2.version}.mar" />

+		<copy file="conf/initiator-axis2.xml" tofile="target/initiator-repository/axis2.xml" />

+

+	</postGoal>

+

 </project>

diff --git a/modules/addressing-0.95-SNAPSHOT.mar b/modules/addressing-0.95-SNAPSHOT.mar
deleted file mode 100644
index 86cefe4..0000000
--- a/modules/addressing-0.95-SNAPSHOT.mar
+++ /dev/null
Binary files differ
diff --git a/modules/addressing-1.0.mar b/modules/addressing-1.0.mar
deleted file mode 100644
index 7e990de..0000000
--- a/modules/addressing-1.0.mar
+++ /dev/null
Binary files differ
diff --git a/modules/addressing-1.1.mar b/modules/addressing-1.1.mar
new file mode 100644
index 0000000..edc1eef
--- /dev/null
+++ b/modules/addressing-1.1.mar
Binary files differ
diff --git a/project.properties b/project.properties
index 191267a..52e35a9 100644
--- a/project.properties
+++ b/project.properties
@@ -1,4 +1,84 @@
-maven.repo.remote = http://www.apache.org/dist/java-repository/, http://cvs.apache.org/repository/, http://mirrors.sunsite.dk/maven/, http://www.ibiblio.org/maven, http://dist.codehaus.org, http://jakarta.apache.org/commons/logging/,

-http://www.reverse.net/pub/apache/java-repository/

-maven.xdoc.date = left

-maven.xdoc.version = ${pom.currentVersion}

+# -------------------------------------------------------------------

+# Copyright 2001-2004 The Apache Software Foundation.

+#

+# Licensed under the Apache License, Version 2.0 (the "License");

+# you may not use this file except in compliance with the License.

+# You may obtain a copy of the License at

+#

+#      http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing, software

+# distributed under the License is distributed on an "AS IS" BASIS,

+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+# See the License for the specific language governing permissions and

+# limitations under the License.

+# -------------------------------------------------------------------

+

+maven.multiproject.type=jar

+

+# -------------------------------------------------------------------

+#                Project Information

+# -------------------------------------------------------------------

+kandula.version=SNAPSHOT

+

+# -------------------------------------------------------------------

+#                Dependency Repositories

+# -------------------------------------------------------------------

+maven.repo.remote=\

+http://www.ibiblio.org/maven,\

+https://maven-repository.dev.java.net/nonav/repository/,\

+http://people.apache.org/repo/m1-ibiblio-rsync-repository/,\

+http://people.apache.org/repository/,\

+http://mirrors.sunsite.dk/maven/,\

+http://ws.zones.apache.org/~dims/maven/

+

+# -------------------------------------------------------------------

+#                JUnit

+# -------------------------------------------------------------------

+maven.junit.jvmargs=-Xmx256m -Djava.awt.headless=true

+maven.junit.fork=true

+

+# -------------------------------------------------------------------

+#                Compile

+# -------------------------------------------------------------------

+maven.compile.optimize=false

+maven.compile.fork=true

+maven.compile.target=1.3

+maven.compile.source=1.3

+

+# -------------------------------------------------------------------

+#                Versions of dependencies

+# -------------------------------------------------------------------

+axis2.version=1.1

+activation.version=1.1

+annogen.version=0.1.0

+axiom.version=1.2

+backport_util_concurrent.version=2.2

+commons.codec.version=1.3

+commons.httpclient.version=3.0.1

+commons.logging.version=1.1

+jakarta.httpcore.version=4.0-alpha2

+javamail.version=1.4

+jaxen.version=1.1-beta-10

+junit.version=3.8.2

+neethi.version=2.0

+stax.api.version=1.0.1

+stax.impl.artifactid=wstx

+stax.impl.groupid=woodstox

+stax.impl.version=asl-3.0.1

+stax_utils.version=20060915 

+woden.version=1.0.0M6

+wsdl4j.version=1.6.1

+XmlSchema.version=1.2

+log4j.version=1.2.13

+

+# -------------------------------------------------------------------

+#                xdoc

+# -------------------------------------------------------------------

+maven.xdoc.date=left

+maven.xdoc.version=${pom.currentVersion}

+maven.xdoc.includeProjectDocumentation=no

+maven.html2xdoc.enabled=true

+maven.html2xdoc.dir=src/site/xdoc

+maven.pdf.navigationFile=navigation-pdf.xml

+maven.allreports.disable=true

diff --git a/project.xml b/project.xml
index 9148aaa..485f98c 100644
--- a/project.xml
+++ b/project.xml
@@ -1,293 +1,333 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>

 <project>

 

-  <!-- the version of maven's project object model -->

-  <pomVersion>3</pomVersion>

-  

-  <!-- a unique name for this project -->

-  <id>kandula2</id>

-  

-  <!-- a short but descriptive name for the project -->

-  <name>Apache Kandula2</name>

-  

-  <!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-SNAPSHOT -->

-  <currentVersion>0.1-SNAPSHOT</currentVersion>

-  

-  <!-- details about the organization that 'owns' the project -->

-  <organization>

-    <name>Apache Web Services</name>

-    <url>http://ws.apache.org/</url>

-    <logo>http://www.apache.org/images/asf-logo.gif</logo>

-  </organization>

-  

-  <!-- the year the project started -->

-  <inceptionYear>2005</inceptionYear>

-  <package>org.apache.kandula</package>

-  <logo/>

-  <description>Kandula will provide an open-source implementation of WS-Coordination, 

-  	WS-AtomicTransaction and WS-BusinessActivity based on Axis. The initial implementation will be in 

-  	Java using Axis/Java. In addition to providing an implementation, a major focus of this project 

-  	would be to ensure interoperability with other implementations of above specifications, 

-  	particularly those by Microsoft (.NET) and IBM.

-  </description>

-  <!-- a short description of what the project does -->

-  <shortDescription>WS-Coor, 

-  	WS-AT and WS-BA implementation</shortDescription>

+	<!-- the version of maven's project object model -->

+	<pomVersion>3</pomVersion>

 

-  <!-- the project home page -->

-  <url>http://ws.apache.org/kandula/</url>

-  <issueTrackingUrl>http://issues.apache.org/jira/browse/KAND</issueTrackingUrl>

-  <siteAddress>ws.apache.org</siteAddress>

-  <siteDirectory>/kandula/</siteDirectory>

-  <distributionDirectory>/www/ws.apache.org/builds/</distributionDirectory>

+	<!-- a unique name for this project -->

+	<id>kandula2</id>

 

-  <repository>

-        <connection>

-            scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java</connection>

-        <developerConnection>

-            scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java</developerConnection>

-        <url>http://svn.apache.org/viewcvs.cgi/webservices/kandula/trunk/java?root=Apache-SVN</url>

-    </repository>

+	<!-- a short but descriptive name for the project -->

+	<name>Apache Kandula2</name>

+

+	<!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-SNAPSHOT -->

+	<currentVersion>SNAPSHOT</currentVersion>

+

+	<!-- details about the organization that 'owns' the project -->

+	<organization>

+		<name>Apache Web Services</name>

+		<url>http://ws.apache.org/</url>

+		<logo>http://www.apache.org/images/asf-logo.gif</logo>

+	</organization>

+

+	<!-- the year the project started -->

+	<inceptionYear>2005</inceptionYear>

+	<package>org.apache.kandula</package>

+	<logo />

+	<description>

+		Kandula will provide an open-source implementation of WS-Coordination,

+		WS-AtomicTransaction and WS-BusinessActivity based on Axis. The initial

+		implementation will be in Java using Axis/Java. In addition to providing

+		an implementation, a major focus of this project would be to ensure

+		interoperability with other implementations of above specifications.

+	</description>

+	<!-- a short description of what the project does -->

+	<shortDescription>WS-Coor, WS-AT and WS-BA implementation</shortDescription>

+

+	<!-- the project home page -->

+	<url>http://ws.apache.org/kandula/</url>

+	<issueTrackingUrl>

+		http://issues.apache.org/jira/browse/KAND

+	</issueTrackingUrl>

+	<siteAddress>ws.apache.org</siteAddress>

+	<siteDirectory>/kandula/</siteDirectory>

+	<distributionDirectory>/www/ws.apache.org/builds/</distributionDirectory>

+

+	<repository>

+		<connection>

+			scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java

+		</connection>

+		<developerConnection>

+			scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java

+		</developerConnection>

+		<url>

+			http://svn.apache.org/viewcvs.cgi/webservices/kandula/trunk/java?root=Apache-SVN

+		</url>

+	</repository>

 

 

-  <!-- any mailing lists for the project -->

-    <mailingLists>

-        <mailingList>

-            <name>Kandula Developer List</name>

-            <subscribe>kandula-dev-subscribe@ws.apache.org</subscribe>

-            <unsubscribe>kandula-dev-unsubscribe@ws.apache.org</unsubscribe>

-            <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listId=221</archive>

-        </mailingList>

-    </mailingLists>

-  

-  <!-- who the developers are for the project -->

-  <developers>

+	<!-- any mailing lists for the project -->

+	<mailingLists>

+		<mailingList>

+			<name>Kandula Developer List</name>

+			<subscribe>kandula-dev-subscribe@ws.apache.org</subscribe>

+			<unsubscribe>kandula-dev-unsubscribe@ws.apache.org</unsubscribe>

+			<archive>

+				http://nagoya.apache.org/eyebrowse/SummarizeList?listId=221

+			</archive>

+		</mailingList>

+	</mailingLists>

+

+	<!-- who the developers are for the project -->

+	<developers>

 		<developer>

 			<name>Davanum Srinivas</name>

 			<id>dims</id>

 			<email>dims AT wso2.com</email>

 			<organization>WSO2</organization>

-		</developer>  

-       <developer>

+		</developer>

+		<developer>

 			<name>Sanjiva Weerawarana</name>

 			<id>sanjiva</id>

 			<email>sanjiva AT wso2.com</email>

 			<organization>WSO2</organization>

 		</developer>

-        <developer>

-            <name>Dasarath Weeratunge</name>

-            <id>dasarath</id>

-            <email>dasarath AT opensource.lk</email>

-            <organization>Lanka Software Foundation (LSF), Sri Lanka.</organization>

-        </developer>    

-		<developer>

-            <name>Thilina Gunarathne</name>

-            <id>thilina</id>

-            <email>thilina AT apache.org</email>

-            <organization>Lanka Software Foundation (LSF) / University of Moratuwa, Sri Lanka.</organization>

-        </developer>

-  </developers>

+		<developer>
+			<name>Dasarath Weerathunga</name>
+			<id>dasarath</id>
+			<email>dasarath AT opensource.lk</email>
+			<organization>Purdue University, USA</organization>
+		</developer>

+		<developer>
+			<name>Thilina Gunarathne</name>
+			<id>thilina</id>
+			<email>thilina AT wso2.com</email>
+			<organization>WSO2</organization>
+			<url>www.apache.org/~thilina</url>
+		</developer>

+	</developers>

 

-    <licenses>

-        <license>

-            <name>The Apache Software License, Version 2.0</name>

-            <url>http://www.apache.org/licenses/LICENSE-2.0</url>

-            <distribution>repo</distribution>

-        </license>

-    </licenses>

-  

-  <!-- build information for the project -->

-  <build>

-    <nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>

-    <sourceDirectory>src</sourceDirectory>

-  </build>

+	<licenses>

+		<license>

+			<name>The Apache Software License, Version 2.0</name>

+			<url>http://www.apache.org/licenses/LICENSE-2.0</url>

+			<distribution>repo</distribution>

+		</license>

+	</licenses>

 

-    <!-- ============ -->

-    <!-- Dependencies -->

-    <!-- ============ -->

+	<!-- build information for the project -->

+	<build>

+		<nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>

+		<sourceDirectory>src</sourceDirectory>

+	</build>

 

-    <dependencies>

-    

-      <dependency>

-          <groupId>junit</groupId>

-          <artifactId>junit</artifactId>

-          <version>3.8.1</version>

-          <url>http://ws.apache.org/axis/</url>

-          <properties>

-            <module>true</module>

-          </properties>

-        </dependency>     

-        <dependency>

-            <groupId>axis2</groupId>

-            <artifactId>axis2-kernel</artifactId>

-            <version>1.0</version>

-        </dependency>

+	<!-- ============ -->

+	<!-- Dependencies -->

+	<!-- ============ -->

 

-   

-             <dependency>

-            <groupId>commons-logging</groupId>

-            <artifactId>commons-logging</artifactId>

-            <version>1.0.4</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

- 

-       <dependency>

-            <groupId>commons-httpclient</groupId>

-            <artifactId>commons-httpclient</artifactId>

-            <version>3.0</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

+	<dependencies>
+		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-api</artifactId>
+			<version>${axiom.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-impl</artifactId>
+			<version>${axiom.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>wsdl4j</groupId>
+			<artifactId>wsdl4j</artifactId>
+			<version>${wsdl4j.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.schema</groupId>
+			<artifactId>XmlSchema</artifactId>
+			<version>${XmlSchema.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>jaxen</groupId>
+			<artifactId>jaxen</artifactId>
+			<version>${jaxen.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+			<url>http://www.ibiblio.org/maven/jaxen/jars/</url>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-java2wsdl</artifactId>
+			<version>${axis2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-kernel</artifactId>
+			<version>${axis2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-adb-codegen</artifactId>
+			<version>${axis2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-codegen</artifactId>
+			<version>${axis2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-adb</artifactId>
+			<version>${axis2.version}</version>
+		</dependency>
+
+		<!-- Following dependency was required due to the EndpointReferenceHelper class-->
+		<!-- dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-addressing</artifactId>
+			<version>${axis2.version}</version>
+			</dependency-->
+		<dependency>
+			<groupId>commons-logging</groupId>
+			<artifactId>commons-logging</artifactId>
+			<version>${commons.logging.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>${stax.impl.groupid}</groupId>
+			<artifactId>${stax.impl.artifactid}</artifactId>
+			<version>${stax.impl.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>stax</groupId>
+			<artifactId>stax-api</artifactId>
+			<version>${stax.api.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>javax.activation</groupId>
+			<artifactId>activation</artifactId>
+			<version>${activation.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>javax.mail</groupId>
+			<artifactId>mail</artifactId>
+			<version>${javamail.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>commons-httpclient</groupId>
+			<artifactId>commons-httpclient</artifactId>
+			<version>${commons.httpclient.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>httpcomponents-httpcore</groupId>
+			<artifactId>jakarta-httpcore</artifactId>
+			<version>${jakarta.httpcore.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>commons-codec</groupId>
+			<artifactId>commons-codec</artifactId>
+			<version>${commons.codec.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>backport-util-concurrent</groupId>
+			<artifactId>backport-util-concurrent</artifactId>
+			<version>${backport_util_concurrent.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>annogen</groupId>
+			<artifactId>annogen</artifactId>
+			<version>${annogen.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.neethi</groupId>
+			<artifactId>neethi</artifactId>
+			<version>${neethi.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
+	</dependencies>

 

-        <dependency>

-            <groupId>log4j</groupId>

-            <artifactId>log4j</artifactId>

-            <version>1.2.12</version>

-            <properties>

-                <module>true</module>

-            </properties>

-            <url>http://dist.codehaus.org/stax/jars/</url>

-        </dependency>

+	<!-- ================================= -->

+	<!-- build information for the project -->

+	<!-- ================================= -->

 

-           <dependency>

-            <groupId>woodstox</groupId>

-            <artifactId>wstx-asl</artifactId>

-            <version>2.8.2</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-        <dependency>

-            <groupId>stax</groupId>

-             <artifactId>stax-api</artifactId>

-            <version>1.0</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-  	      <dependency>

-            <groupId>org.apache.ws.commons</groupId>

-            <artifactId>XmlSchema</artifactId>

-            <version>1.0.2</version>

-        </dependency>

+	<build>

+		<nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>

+		<sourceDirectory>src</sourceDirectory>

+		<unitTestSourceDirectory>test</unitTestSourceDirectory>
+
+		<unitTest>
+			<includes>
+				<include>**/CompletionCommitTest.java</include>
+			</includes>
+
+
+			<resources>
+				<resource>
+					<directory>${basedir}/test-resources</directory>
+				</resource>
+				<resource>
+					<directory>conf</directory>
+					<includes>
+						<include>**/*.properties</include>
+					</includes>
+				</resource>
+				<resource>
+					<directory>src</directory>
+					<includes>
+						<include>**/*.conf</include>
+						<include>**/*.xml</include>
+					</includes>
+				</resource>
+			</resources>
+		</unitTest>

 

- 	  <dependency>

-            <groupId>axis</groupId>

-            <artifactId>axis-wsdl4j</artifactId>

-            <version>1.2</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-	  <dependency>

-            <groupId>commons-codec</groupId>

-            <artifactId>commons-codec</artifactId>

-            <version>1.3</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-        <dependency>

-            <groupId>backport-util-concurrent</groupId>

-            <artifactId>backport-util-concurrent</artifactId>

-            <version>2.0_01_pd</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-		<dependency>

-            <groupId>annogen</groupId>

-            <artifactId>annogen</artifactId>

-            <version>0.1.0</version>

-            <properties>

-                <module>true</module>

-            </properties>

-        </dependency>

-     <dependency>

-            <groupId>ws-commons</groupId>

-            <artifactId>axiom-api</artifactId>

-            <version>1.0</version>

-        </dependency>

-   <dependency>

-            <groupId>ws-commons</groupId>

-            <artifactId>axiom-impl</artifactId>

-            <version>1.0</version>

-        </dependency>

+		<resources>

+			<resource>

+				<directory>src</directory>

+				<includes>

+					<include>**/*.conf</include>

+					<include>**/*.xml</include>

+				</includes>

+			</resource>

+		</resources>

+	</build>

 

+	<!-- ======= -->

+	<!-- Reports -->

+	<!-- ======= -->

 

-		 <dependency>

-            <groupId>ws-commons</groupId>

-            <artifactId>neethi</artifactId>

-            <version>1.0.1</version>

-            <properties>

-                <module>true</module>

-            </properties>

-             </dependency>

-        

-    </dependencies>

-

-    <!-- ================================= -->

-    <!-- build information for the project -->

-    <!-- ================================= -->

-

-    <build>

-        <nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>

-        <sourceDirectory>src</sourceDirectory>

-        <!--unitTestSourceDirectory>test</unitTestSourceDirectory>

-

-        <unitTest>    

-        	 <includes>

-                <include>**/CreateCoordinationContextTest.java</include>

-            </includes>         

-            

-

-            <resources>

-                <resource>

-                    <directory>${basedir}/test-resources</directory>

-                </resource>

-                <resource>

-                    <directory>conf</directory>

-                    <includes>

-                        <include>**/*.properties</include>

-                    </includes>

-                </resource>

-                <resource>

-                    <directory>src</directory>

-                    <includes>

-                        <include>**/*.conf</include>

-                        <include>**/*.xml</include>

-                    </includes>

-                </resource>

-            </resources>

-        </unitTest-->

-        

-			<resources>    

-                <resource>

-                    <directory>src</directory>

-                    <includes>

-                        <include>**/*.conf</include>

-                        <include>**/*.xml</include>

-                    </includes>

-                </resource>

-            </resources>

-    </build>

-

-    <!-- ======= -->

-    <!-- Reports -->

-    <!-- ======= -->

-

-    <reports>

-     <report>maven-changes-plugin</report>

-        <report>maven-jdepend-plugin</report>

-        <report>maven-checkstyle-plugin</report>

-        <report>maven-pmd-plugin</report>

-        <report>maven-junit-report-plugin</report>

-        <report>maven-license-plugin</report>

-        <report>maven-jxr-plugin</report>

-

-    </reports>

+	<reports>

+		<report>maven-changes-plugin</report>

+		<report>maven-jdepend-plugin</report>

+		<report>maven-checkstyle-plugin</report>

+		<report>maven-pmd-plugin</report>

+		<report>maven-junit-report-plugin</report>

+		<report>maven-license-plugin</report>

+		<report>maven-jxr-plugin</report>

+	</reports>

 </project>

 

diff --git a/src/org/apache/kandula/initiator/TransactionOutHandler.java b/src/org/apache/kandula/initiator/TransactionOutHandler.java
index 561b940..3271cfa 100644
--- a/src/org/apache/kandula/initiator/TransactionOutHandler.java
+++ b/src/org/apache/kandula/initiator/TransactionOutHandler.java
@@ -28,7 +28,7 @@
 

 	private static final long serialVersionUID = 4133392345837905499L;

 

-	public void invoke(MessageContext msgContext) throws AxisFault {

+	public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {

 

 		InitiatorTransaction initiatorTransaction;

 		try {

@@ -46,5 +46,6 @@
 		} catch (AbstractKandulaException e) {

 			throw new AxisFault(e);

 		}

+		return InvocationResponse.CONTINUE;

 	}

 }

diff --git a/src/org/apache/kandula/participant/TransactionInHandler.java b/src/org/apache/kandula/participant/TransactionInHandler.java
index e5e61ce..bc81da0 100644
--- a/src/org/apache/kandula/participant/TransactionInHandler.java
+++ b/src/org/apache/kandula/participant/TransactionInHandler.java
@@ -38,7 +38,7 @@
 

 	// private ThreadLocal threadInfo = new ThreadLocal();

 

-	public void invoke(MessageContext msgContext) throws AxisFault {

+	public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {

 		KandulaResource resource;

 		String wsaAction = msgContext.getWSAAction();

 		if ((wsaAction != Constants.WS_COOR_CREATE_COORDINATIONCONTEXT)

@@ -79,5 +79,6 @@
 				ParticipantUtility.registerParticipant(context);

 			}

 		}

+		return InvocationResponse.CONTINUE;

 	}

 }

diff --git a/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLSkeleton.java
index 9d24e76..c267b97 100644
--- a/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLSkeleton.java
@@ -18,8 +18,7 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.axis2.context.MessageContext;
 import org.apache.kandula.Constants;
 import org.apache.kandula.coordinator.at.ATCoordinator;
 import org.apache.kandula.faults.AbstractKandulaException;
@@ -30,12 +29,6 @@
  */
 
 public class CompletionCoordinatorPortTypeRawXMLSkeleton {
-	private OperationContext opContext;
-
-	public void setOperationContext(OperationContext opContext) {
-		this.opContext = opContext;
-	}
-
 	/**
 	 * @param requestElement
 	 * @throws AxisFault
@@ -44,9 +37,8 @@
 		String activityId;
 		// log.info("Visited Commit operation");
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		try {
@@ -65,10 +57,9 @@
 
 		String activityId;
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
 		// log.info("Visited rollback operation");
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		try {
diff --git a/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLStub.java b/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLStub.java
index 5f22509..4d389be 100644
--- a/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wsat/completion/CompletionCoordinatorPortTypeRawXMLStub.java
@@ -19,7 +19,6 @@
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.OutOnlyAxisOperation;
 import org.apache.kandula.Constants;
 import org.apache.kandula.faults.AbstractKandulaException;
diff --git a/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLSkeleton.java
index 3ffd38f..22ba22c 100644
--- a/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLSkeleton.java
@@ -18,8 +18,7 @@
 

 import org.apache.axiom.om.OMElement;

 import org.apache.axis2.AxisFault;

-import org.apache.axis2.context.OperationContext;

-import org.apache.axis2.wsdl.WSDLConstants;

+import org.apache.axis2.context.MessageContext;

 import org.apache.kandula.Constants;

 import org.apache.kandula.Status;

 import org.apache.kandula.initiator.InitiatorTransaction;

@@ -30,18 +29,11 @@
  */

 

 public class CompletionInitiatorPortTypeRawXMLSkeleton {

-	private OperationContext opContext;

-

-	public void setOperationContext(OperationContext opContext) {

-		this.opContext = opContext;

-	}

-

 	public void committedOperation(OMElement requestElement)

 			throws AxisFault {

 		StorageFactory.getInstance().setConfigurationContext(

-				opContext.getServiceContext().getConfigurationContext());

-		OMElement header = opContext.getMessageContext(

-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();

+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());

+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();

 		String requesterID = header.getFirstChildWithName(

 				Constants.REQUESTER_ID_PARAMETER).getText();

 		InitiatorTransaction transaction = (InitiatorTransaction) StorageFactory

@@ -52,9 +44,8 @@
 	public void abortedOperation(OMElement requestElement)

 			throws AxisFault {

 		StorageFactory.getInstance().setConfigurationContext(

-				opContext.getServiceContext().getConfigurationContext());

-		OMElement header = opContext.getMessageContext(

-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();

+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());

+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();

 		String requesterID = header.getFirstChildWithName(

 				Constants.REQUESTER_ID_PARAMETER).getText();

 		InitiatorTransaction transaction = (InitiatorTransaction) StorageFactory

diff --git a/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLStub.java b/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLStub.java
index 90792c6..93b4e2a 100644
--- a/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wsat/completion/CompletionInitiatorPortTypeRawXMLStub.java
@@ -18,7 +18,6 @@
 
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.OutOnlyAxisOperation;
 import org.apache.kandula.Constants;
 import org.apache.kandula.faults.AbstractKandulaException;
diff --git a/src/org/apache/kandula/wsat/completion/CompletionInitiatorServiceListener.java b/src/org/apache/kandula/wsat/completion/CompletionInitiatorServiceListener.java
index c760886..5193807 100644
--- a/src/org/apache/kandula/wsat/completion/CompletionInitiatorServiceListener.java
+++ b/src/org/apache/kandula/wsat/completion/CompletionInitiatorServiceListener.java
@@ -26,7 +26,6 @@
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.InOnlyAxisOperation;
 import org.apache.axis2.description.Parameter;
-import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;
 import org.apache.kandula.Constants;
 import org.apache.kandula.utility.KandulaListener;
@@ -64,7 +63,7 @@
 		String serviceName = "CompletionInitiatorPortType";
 		AxisService service = new AxisService(serviceName);
 		service.addParameter(new Parameter(
-				AbstractMessageReceiver.SERVICE_CLASS, className));
+				org.apache.axis2.Constants.SERVICE_CLASS, className));
 		service.setFileName((new File(className)).toURL());
 
 		QName committedOperationName = new QName(Constants.WS_COOR,
diff --git a/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLSkeleton.java
index 4e35e65..c847227 100644
--- a/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLSkeleton.java
@@ -18,8 +18,7 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.axis2.context.MessageContext;
 import org.apache.kandula.Constants;
 import org.apache.kandula.coordinator.at.ATCoordinator;
 import org.apache.kandula.faults.AbstractKandulaException;
@@ -30,12 +29,6 @@
  * @author <a href="mailto:thilina@opensource.lk"> Thilina Gunarathne </a>
  */
 public class CoordinatorPortTypeRawXMLSkeleton {
-	private OperationContext opContext;
-
-	public void setOperationContext(OperationContext opContext) {
-		this.opContext = opContext;
-	}
-
 	/**
 	 * @param requestElement
 	 * @throws AbstractKandulaException
@@ -43,9 +36,8 @@
 	public void preparedOperation(OMElement requestElement)
 			throws AxisFault {
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		String activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		String enlistmentId = header.getFirstChildWithName(
@@ -68,9 +60,8 @@
 	public void abortedOperation(OMElement requestElement)
 			throws AxisFault {
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		String activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		String enlistmentId = header.getFirstChildWithName(
@@ -92,9 +83,8 @@
 	public void readOnlyOperation(OMElement requestElement)
 			throws AxisFault {
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		String activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		String enlistmentId = header.getFirstChildWithName(
@@ -116,9 +106,8 @@
 	public void committedOperation(OMElement requestElement)
 			throws AxisFault {
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		String activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		String enlistmentId = header.getFirstChildWithName(
@@ -139,7 +128,7 @@
 	 */
 	public void replayOperation(OMElement requestElement) throws AxisFault {
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
 		System.out.println("Visited Replay operation");
 	}
 
diff --git a/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLStub.java b/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLStub.java
index aacb8ab..a5044b6 100644
--- a/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wsat/twopc/CoordinatorPortTypeRawXMLStub.java
@@ -18,7 +18,6 @@
 
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.OutOnlyAxisOperation;
 import org.apache.kandula.Constants;
 import org.apache.kandula.faults.AbstractKandulaException;
diff --git a/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLSkeleton.java
index d54964a..30086df 100644
--- a/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLSkeleton.java
@@ -18,8 +18,7 @@
 

 import org.apache.axiom.om.OMElement;

 import org.apache.axis2.AxisFault;

-import org.apache.axis2.context.OperationContext;

-import org.apache.axis2.wsdl.WSDLConstants;

+import org.apache.axis2.context.MessageContext;

 import org.apache.kandula.Constants;

 import org.apache.kandula.context.AbstractContext;

 import org.apache.kandula.faults.AbstractKandulaException;

@@ -32,17 +31,10 @@
  */

 

 public class ParticipantPortTypeRawXMLSkeleton {

-	private OperationContext opContext;

-

-	public void setOperationContext(OperationContext opContext) {

-		this.opContext = opContext;

-	}

-

 	public void prepareOperation(OMElement requestEle) throws AxisFault {

 		StorageFactory.getInstance().setConfigurationContext(

-				opContext.getServiceContext().getConfigurationContext());

-		OMElement header = opContext.getMessageContext(

-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();

+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());

+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();

 		String requesterID = header.getFirstChildWithName(

 				Constants.REQUESTER_ID_PARAMETER).getText();

 		Store store = StorageFactory.getInstance().getStore();

@@ -60,9 +52,8 @@
 

 	public void commitOperation(OMElement requestEle) throws AxisFault {

 		StorageFactory.getInstance().setConfigurationContext(

-				opContext.getServiceContext().getConfigurationContext());

-		OMElement header = opContext.getMessageContext(

-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();

+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());

+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();

 		String requesterID = header.getFirstChildWithName(

 				Constants.REQUESTER_ID_PARAMETER).getText();

 		Store store = StorageFactory.getInstance().getStore();

@@ -79,9 +70,8 @@
 

 	public void rollbackOperation(OMElement requestEle) throws AxisFault {

 		StorageFactory.getInstance().setConfigurationContext(

-				opContext.getServiceContext().getConfigurationContext());

-		OMElement header = opContext.getMessageContext(

-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();

+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());

+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();

 		String requesterID = header.getFirstChildWithName(

 				Constants.REQUESTER_ID_PARAMETER).getText();

 		Store store = StorageFactory.getInstance().getStore();

diff --git a/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLStub.java b/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLStub.java
index 3e4c1fe..27518fd 100644
--- a/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wsat/twopc/ParticipantPortTypeRawXMLStub.java
@@ -18,7 +18,6 @@
 
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.OutOnlyAxisOperation;
 import org.apache.kandula.Constants;
 import org.apache.kandula.faults.AbstractKandulaException;
diff --git a/src/org/apache/kandula/wsat/twopc/ParticipantServiceListener.java b/src/org/apache/kandula/wsat/twopc/ParticipantServiceListener.java
index 8e43f5b..86debd6 100644
--- a/src/org/apache/kandula/wsat/twopc/ParticipantServiceListener.java
+++ b/src/org/apache/kandula/wsat/twopc/ParticipantServiceListener.java
@@ -26,7 +26,6 @@
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.InOnlyAxisOperation;
 import org.apache.axis2.description.Parameter;
-import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;
 import org.apache.kandula.Constants;
 import org.apache.kandula.utility.KandulaListener;
@@ -63,7 +62,7 @@
 		String serviceName = "ParticipantPortType";
 		AxisService service = new AxisService(serviceName);
 		service.addParameter(new Parameter(
-				AbstractMessageReceiver.SERVICE_CLASS, className));
+				org.apache.axis2.Constants.SERVICE_CLASS, className));
 		service.setFileName((new File(className)).toURL());
 		QName prepareOperationName = new QName(Constants.WS_COOR,
 				"prepareOperation");
diff --git a/src/org/apache/kandula/wscoor/ActivationCoordinatorPortTypeRawXMLStub.java b/src/org/apache/kandula/wscoor/ActivationCoordinatorPortTypeRawXMLStub.java
index b59d543..9aae9fc 100644
--- a/src/org/apache/kandula/wscoor/ActivationCoordinatorPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wscoor/ActivationCoordinatorPortTypeRawXMLStub.java
@@ -42,7 +42,6 @@
 import org.apache.axis2.description.OutInAxisOperation;

 import org.apache.axis2.description.OutOnlyAxisOperation;

 import org.apache.axis2.description.Parameter;

-import org.apache.axis2.receivers.AbstractMessageReceiver;

 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;

 import org.apache.axis2.wsdl.WSDLConstants;

 import org.apache.kandula.Constants;

@@ -176,7 +175,7 @@
 		KandulaListener listener = KandulaListener.getInstance();

 		AxisService service = new AxisService(serviceName);

 		service.addParameter(new Parameter(

-				AbstractMessageReceiver.SERVICE_CLASS, className));

+				org.apache.axis2.Constants.SERVICE_CLASS, className));

 		service.setFileName((new File(className)).toURL());

 

 		responseOperationDesc = new InOnlyAxisOperation();

diff --git a/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSkeleton.java
index a3e2251..a4faa6a 100644
--- a/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSkeleton.java
@@ -23,7 +23,7 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.kandula.Constants;
 import org.apache.kandula.context.AbstractContext;
 import org.apache.kandula.coordinator.Coordinator;
@@ -35,12 +35,6 @@
  */
 
 public class ActivationPortTypeRawXMLSkeleton {
-	private OperationContext opContext;
-
-	public void setOperationContext(OperationContext opContext) {
-		this.opContext = opContext;
-	}
-
 	/**
 	 * @param requestElement
 	 * @throws AbstractKandulaException
@@ -49,7 +43,7 @@
 			throws AxisFault {
 		AbstractContext context;
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
 		/*
 		 * Extracting data from the incoming message
 		 */
diff --git a/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSyncMessageReceiver.java b/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSyncMessageReceiver.java
index 164543f..d0fae17 100644
--- a/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSyncMessageReceiver.java
+++ b/src/org/apache/kandula/wscoor/ActivationPortTypeRawXMLSyncMessageReceiver.java
@@ -20,7 +20,6 @@
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.engine.DependencyManager;
 import org.apache.kandula.Constants;
 
 /**
@@ -39,9 +38,7 @@
 			// get the implementation class for the Web Service
 			Object obj = getTheImplementationObject(msgContext);
 
-			// Inject the Message Context if it is asked for
-			DependencyManager.configureBusinessLogicProvider(obj, msgContext
-					.getOperationContext());
+		
 
 			ActivationPortTypeRawXMLSkeleton skel = (ActivationPortTypeRawXMLSkeleton) obj;
 			// Out Envelop
diff --git a/src/org/apache/kandula/wscoor/RegistrationCoordinatorPortTypeRawXMLStub.java b/src/org/apache/kandula/wscoor/RegistrationCoordinatorPortTypeRawXMLStub.java
index c26116b..d803354 100644
--- a/src/org/apache/kandula/wscoor/RegistrationCoordinatorPortTypeRawXMLStub.java
+++ b/src/org/apache/kandula/wscoor/RegistrationCoordinatorPortTypeRawXMLStub.java
@@ -42,7 +42,6 @@
 import org.apache.axis2.description.OutInAxisOperation;
 import org.apache.axis2.description.OutOnlyAxisOperation;
 import org.apache.axis2.description.Parameter;
-import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;
 import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.kandula.Constants;
@@ -77,7 +76,6 @@
 	public RegistrationCoordinatorPortTypeRawXMLStub(
 			ConfigurationContext configurationContext,
 			EndpointReference targetEndpoint) throws AbstractKandulaException {
-		configurationContext = configurationContext;
 		this.toEPR = targetEndpoint;
 		service = new AxisService("annonService"+this.hashCode());
 		try {
@@ -191,7 +189,7 @@
 		KandulaListener listener = KandulaListener.getInstance();
 		AxisService service = new AxisService(serviceName);
 		service.addParameter(new Parameter(
-				AbstractMessageReceiver.SERVICE_CLASS, className));
+				org.apache.axis2.Constants.SERVICE_CLASS, className));
 		service.setFileName((new File(className)).toURL());
 
 		responseOperationDesc = new InOnlyAxisOperation();
diff --git a/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSkeleton.java
index 93d3310..d2b6425 100644
--- a/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSkeleton.java
@@ -24,8 +24,7 @@
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.axis2.context.MessageContext;
 import org.apache.kandula.Constants;
 import org.apache.kandula.coordinator.Coordinator;
 import org.apache.kandula.faults.AbstractKandulaException;
@@ -37,11 +36,6 @@
  */
 
 public class RegistrationPortTypeRawXMLSkeleton {
-	private OperationContext opContext;
-
-	public void setOperationContext(OperationContext opContext) {
-		this.opContext = opContext;
-	}
 
 	public OMElement registerOperation(OMElement request) throws AxisFault {
 
@@ -49,7 +43,7 @@
 		EndpointReference participantEPR;
 		String activityId;
 		StorageFactory.getInstance().setConfigurationContext(
-				opContext.getServiceContext().getConfigurationContext());
+				MessageContext.getCurrentMessageContext().getServiceContext().getConfigurationContext());
 		/*
 		 * Extracting data from the received message
 		 */
@@ -61,8 +55,7 @@
 		participantEPR = EndpointReferenceFactory
 				.endpointFromOM(participantEPRElement);
 
-		OMElement header = opContext.getMessageContext(
-				WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope().getHeader();
+		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
 		activityId = header.getFirstChildWithName(
 				Constants.TRANSACTION_ID_PARAMETER).getText();
 		/*
diff --git a/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSyncMessageReceiver.java b/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSyncMessageReceiver.java
index 494d2fb..c42cbc5 100644
--- a/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSyncMessageReceiver.java
+++ b/src/org/apache/kandula/wscoor/RegistrationPortTypeRawXMLSyncMessageReceiver.java
@@ -20,7 +20,6 @@
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.engine.DependencyManager;
 import org.apache.kandula.Constants;
 
 /**
@@ -39,9 +38,7 @@
 			// get the implementation class for the Web Service
 			Object obj = getTheImplementationObject(msgContext);
 
-			// Inject the Message Context if it is asked for
-			DependencyManager.configureBusinessLogicProvider(obj, msgContext
-					.getOperationContext());
+		
 
 			RegistrationPortTypeRawXMLSkeleton skel = (RegistrationPortTypeRawXMLSkeleton) obj;
 			// Out Envelop
diff --git a/src/org/apache/kandula/wscoor/RegistrationRequesterPortTypeRawXMLSkeleton.java b/src/org/apache/kandula/wscoor/RegistrationRequesterPortTypeRawXMLSkeleton.java
index d6ec67d..aaaabca 100644
--- a/src/org/apache/kandula/wscoor/RegistrationRequesterPortTypeRawXMLSkeleton.java
+++ b/src/org/apache/kandula/wscoor/RegistrationRequesterPortTypeRawXMLSkeleton.java
@@ -19,8 +19,7 @@
 import org.apache.axiom.om.OMElement;

 import org.apache.axis2.AxisFault;

 import org.apache.axis2.addressing.EndpointReference;

-import org.apache.axis2.context.OperationContext;

-import org.apache.axis2.wsdl.WSDLConstants;

+import org.apache.axis2.context.MessageContext;

 import org.apache.kandula.Constants;

 import org.apache.kandula.context.impl.ATParticipantContext;

 import org.apache.kandula.initiator.InitiatorTransaction;

@@ -32,19 +31,13 @@
  */

 

 public class RegistrationRequesterPortTypeRawXMLSkeleton {

-	private OperationContext opContext;

-

-	public void setOperationContext(OperationContext opContext) {

-		this.opContext = opContext;

-	}

 

 	public OMElement registerResponseOperation(OMElement responseElement)

 			throws AxisFault {

 

 		OMElement response = responseElement.getFirstElement();

 		if ("CoordinatorProtocolService".equals(response.getLocalName())) {

-			OMElement header = opContext.getMessageContext(

-					WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope()

+			OMElement header = MessageContext.getCurrentMessageContext().getEnvelope()

 					.getHeader();

 			String requesterID = header.getFirstChildWithName(

 					Constants.REQUESTER_ID_PARAMETER).getText();

diff --git a/test-resources/KandulaDemoService/meta-inf/services.xml b/test-resources/KandulaDemoService/META-INF/services.xml
similarity index 100%
rename from test-resources/KandulaDemoService/meta-inf/services.xml
rename to test-resources/KandulaDemoService/META-INF/services.xml
diff --git a/test/interop/testService.java b/test/interop/testService.java
index beb165d..f5e13d4 100644
--- a/test/interop/testService.java
+++ b/test/interop/testService.java
@@ -21,7 +21,6 @@
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
diff --git a/test/org/apache/kandula/integration/CompletionCommitTest.java b/test/org/apache/kandula/integration/CompletionCommitTest.java
index 6b10391..d398766 100644
--- a/test/org/apache/kandula/integration/CompletionCommitTest.java
+++ b/test/org/apache/kandula/integration/CompletionCommitTest.java
@@ -20,8 +20,6 @@
  * @author <a href="mailto:thilina@opensource.lk">Thilina Gunarathne </a>

  */

 

-import interop.TestServiceStub;

-

 import java.io.File;

 

 import junit.framework.TestCase;

@@ -35,7 +33,7 @@
 

 public class CompletionCommitTest extends TestCase {

 

-	private String repository = "C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis2/WEB-INF";

+	private String repository = "target/testing-repository";

 

 	private KandulaDemoServiceStub stub;

 

@@ -46,7 +44,7 @@
 		stub = new KandulaDemoServiceStub(

 				"target/initiator-repository",

 				new EndpointReference(

-						"http://localhost:8082/axis2/services/TestService"));

+						"http://localhost:8082/axis2/services/KandulaDemoService"));

 	}

 

 	public CompletionCommitTest(String testName) throws Exception {

@@ -54,12 +52,12 @@
 		stub = new KandulaDemoServiceStub(

 				"target/initiator-repository",

 				new EndpointReference(

-						"http://localhost:8082/axis2/services/TestService"));

+						"http://localhost:8082/axis2/services/KandulaDemoService"));

 	}

 

 	protected void setUp() throws Exception {

 		File file = new File(repository);

-		File configFile = new File(repository + "/conf/axis2.xml");

+		File configFile = new File(repository + "/axis2.xml");

 		if (!file.exists()) {

 			throw new Exception("repository directory "

 					+ file.getAbsolutePath() + " does not exists");

@@ -86,7 +84,7 @@
 		TransactionManager tm = new TransactionManager(

 				Constants.WS_AT,

 				new EndpointReference(

-						"http://localhost:8082/axis2/services/ActivationCoordinator"),

+						"http://localhost:8081/axis2/services/ActivationCoordinator"),

 				"target/initiator-repository",

 				"target/initiator-repository/axis2.xml");

 		tm.begin(false);

@@ -101,7 +99,7 @@
 //		// TransactionManager tm = new TransactionManager(

 //		// Constants.WS_AT,

 //		// new EndpointReference(

-//		// "http://localhost:8082/axis2/services/ActivationCoordinator"));

+//		// "http://localhost:8081/axis2/services/ActivationCoordinator"));

 //		// tm.begin("target/initiator-repository",

 //		// "target/initiator-repository/axis2.xml", false);

 //		// try {