Updating the wsdl's & schemas to the newest version published by the OASIS ws-tx group.
Updating to Axis2 trunk...
Adding codegen support to ws-coor wsdl's..

diff --git a/conf/ActivationCoordinator/META-INF/services.xml b/conf/ActivationCoordinator/META-INF/services.xml
index f422904..1729cc7 100644
--- a/conf/ActivationCoordinator/META-INF/services.xml
+++ b/conf/ActivationCoordinator/META-INF/services.xml
@@ -1,10 +1,22 @@
-<service name="ActivationCoordinator">

+<!--service name="ActivationCoordinator">

     <description>

         Coordination service.

     </description>

     <parameter name="ServiceClass" locked="xsd:false">org.apache.kandula.wscoor.ActivationPortTypeRawXMLSkeleton</parameter>

     <operation name="createCoordinationContextOperation">

-    	<actionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/03/CreateCoordinationContext</actionMapping>

+    	<actionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext</actionMapping>

         <messageReceiver class="org.apache.kandula.wscoor.ActivationPortTypeRawXMLSyncMessageReceiver"/>

     </operation>

-</service>

+</service-->

+
+<serviceGroup>
+<service name="ActivationCoordinator">
+<messageReceivers>
+<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.kandula.wscoor.ActivationServiceMessageReceiverInOut"/>
+</messageReceivers>
+<parameter name="ServiceClass" locked="false">org.apache.kandula.wscoor.ActivationServiceSkeleton</parameter>
+<operation name="CreateCoordinationContextOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
+<actionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext</actionMapping>
+</operation>
+</service>
+</serviceGroup>
\ No newline at end of file
diff --git a/conf/RegistrationCoordinator/META-INF/services.xml b/conf/RegistrationCoordinator/META-INF/services.xml
index 538201a..0bcab3e 100644
--- a/conf/RegistrationCoordinator/META-INF/services.xml
+++ b/conf/RegistrationCoordinator/META-INF/services.xml
@@ -1,10 +1,12 @@
-<service name="RegistrationCoordinator">

-    <description>

-        Coordination service.

-    </description>

-    <parameter name="ServiceClass" locked="xsd:false">org.apache.kandula.wscoor.RegistrationPortTypeRawXMLSkeleton</parameter>

-    <operation name="registerOperation">

-        <actionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/03/Register</actionMapping>

-        <messageReceiver class="org.apache.kandula.wscoor.RegistrationPortTypeRawXMLSyncMessageReceiver"/>

-    </operation>

-</service>

+<serviceGroup>
+<service name="RegistrationCoordinator">
+<messageReceivers>
+<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.kandula.wscoor.RegistrationServiceMessageReceiverInOut"/>
+</messageReceivers>
+<parameter name="ServiceClass" locked="false">org.apache.kandula.wscoor.RegistrationServiceSkeleton</parameter>
+<operation name="RegisterOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
+<actionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/Register</actionMapping>
+<outputActionMapping>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/RegistrationPortType/RegisterOperationResponse</outputActionMapping>
+</operation>
+</service>
+</serviceGroup>
diff --git a/maven.xml b/maven.xml
index b8299e1..5525260 100644
--- a/maven.xml
+++ b/maven.xml
@@ -11,18 +11,29 @@
 		</path>

 	</goal>

 

+    <preGoal name="java:compile">

+    	<attainGoal name="generate:code"/>

+        <path id="generated.src.path">

+            <pathelement location="target/src"/>

+        </path>

+        <maven:addPath id="maven.compile.src.set" refid="generated.src.path"/>

+    </preGoal>

+	

 	<goal name="generate:code">

 		<!-- Code generating for the WS-Coordination WSDL -->

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

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

 			<arg line=" -o target -p org.apache.kandula.wscoor -g  -ss -sd -sn RegistrationService -uri schema/wscoor.wsdl" />

 		</java>

+		<delete file="target/src/org/apache/kandula/wscoor/RegistrationServiceSkeleton.java"/>

+		

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

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

 			<arg line=" -o target -p org.apache.kandula.wscoor -g  -ss -sd -sn ActivationService -uri schema/wscoor.wsdl" />

 		</java>

-

-		<!-- Code generating for the WS-AT WSDL -->

+		<delete file="target/src/org/apache/kandula/wscoor/ActivationServiceSkeleton.java"/>

+		

+		<!-- Code generating for the WS-AT WSDL >

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

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

 			<arg line=" -o target -p org.apache.kandula.wsat.twopc -g -ss -sd -sn Participant2PCService -uri schema/wsat.wsdl" />

@@ -38,9 +49,9 @@
 		<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">

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

 			<arg line=" -o target -p org.apache.kandula.wsat.completion -g -ss -sd -sn CompletionCoordinator -uri schema/wsat.wsdl" />

-		</java>

+		</java-->

 

-		<!-- Code generating for the WS-BA WSDL -->

+		<!-- Code generating for the WS-BA WSDL >

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

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

 			<arg line=" -o target -p org.apache.kandula.wsba -g -ss -sd -sn BAParticipantCompletionParticipantService -uri schema/wsba.wsdl" />

@@ -56,7 +67,7 @@
 		<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">

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

 			<arg line=" -o target -p org.apache.kandula.wsba -g -ss -sd -sn BAParticipantCompletionCoordinatorService -uri schema/wsba.wsdl" />

-		</java>

+		</java-->

 	</goal>

 

 	<postGoal name="test:compile">

diff --git a/project.properties b/project.properties
index 8e54f09..9246e7d 100644
--- a/project.properties
+++ b/project.properties
@@ -49,10 +49,10 @@
 # -------------------------------------------------------------------

 #                Versions of dependencies

 # -------------------------------------------------------------------

-axis2.version=1.1

+axis2.version=SNAPSHOT

 activation.version=1.1

 annogen.version=0.1.0

-axiom.version=1.2

+axiom.version=SNAPSHOT

 backport_util_concurrent.version=2.2

 commons.codec.version=1.3

 commons.httpclient.version=3.0.1

diff --git a/project.xml b/project.xml
index 0d4abaa..5687428 100644
--- a/project.xml
+++ b/project.xml
@@ -127,6 +127,11 @@
 			<version>${axiom.version}</version>
 		</dependency>
 		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-dom</artifactId>
+			<version>${axiom.version}</version>
+		</dependency>
+		<dependency>
 			<groupId>wsdl4j</groupId>
 			<artifactId>wsdl4j</artifactId>
 			<version>${wsdl4j.version}</version>
diff --git a/schema/addr.xsd b/schema/addr.xsd
new file mode 100644
index 0000000..4760919
--- /dev/null
+++ b/schema/addr.xsd
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>

+<!-- 
+	Copyright © 2002-2004 BEA Systems Inc., International Business Machines Corporation, 
+	Microsoft Corporation, Inc, SAP AG, and Sun Microsystems, Inc.. All rights reserved. 
+	
+	Permission to copy, display, perform, modify and distribute the WS-Addressing Specification, 
+	and to authorize others to do the foregoing, in any medium without fee or royalty is hereby
+	granted for the purpose of developing and evaluating the WS-Addressing Specification.
+	
+	BEA, IBM, Microsoft, SAP AG, and Sun Microsystems (collectively, the "Authors") each agree 
+	to grant a license to third parties, under royalty-free  and otherwise reasonable, 
+	non-discriminatory terms and conditions, to their respective essential patent claims that
+	they deem necessary to implement the WS-Addressing Specification.
+	
+	DISCLAIMERS:
+	
+	THE WS-Addressing Specification IS PROVIDED "AS IS", AND THE AUTHORS MAKE NO REPRESENTATIONS
+	OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF 
+	MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE 
+	CONTENTS OF THE WS-Addressing Specification IS SUITABLE FOR ANY PURPOSE; NOR THAT THE 
+	IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, 
+	TRADEMARKS OR OTHER RIGHTS.
+	
+	THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 
+	DAMAGES ARISING OUT OF ANY USE OF THE WS-Addressing Specification OR THE PERFORMANCE OR 
+	IMPLEMENTATION OF THE CONTENTS THEREOF.
+	
+	You may remove these disclaimers from your modified versions of the WS-Addressing 
+	Specification provided that you effectively disclaim all warranties and liabilities on behalf 
+	of all copyright holders in the copies of any such modified versions you distribute.
+	
+	The name and trademarks of the Authors may NOT be used in any manner, including advertising 
+	or publicity pertaining to the WS-Addressing Specification or its contents without specific, 
+	written prior permission. Title to copyright in the WS-Addressing Specification will at all 
+	times remain with the Authors.
+	
+	No other rights are granted by implication, estoppel or otherwise.
+	
+-->

+<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+	elementFormDefault="qualified" blockDefault="#all">

+	<!-- //////////////////// WS-Addressing //////////////////// -->

+	<!-- Endpoint reference -->

+	<xs:element name="EndpointReference" type="wsa:EndpointReferenceType" />

+	<xs:complexType name="EndpointReferenceType">

+		<xs:sequence>

+			<xs:element name="Address" type="wsa:AttributedURI" />

+			<xs:element name="ReferenceProperties"
+				type="wsa:ReferencePropertiesType" minOccurs="0" />

+			<xs:element name="ReferenceParameters"
+				type="wsa:ReferenceParametersType" minOccurs="0" />

+			<xs:element name="PortType" type="wsa:AttributedQName"
+				minOccurs="0" />

+			<xs:element name="ServiceName" type="wsa:ServiceNameType"
+				minOccurs="0" />

+			<xs:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded">

+				<xs:annotation>

+					<xs:documentation>

+						If "Policy" elements from namespace

+						"http://schemas.xmlsoap.org/ws/2002/12/policy#policy"

+						are used, they must appear first (before any

+						extensibility elements).

+					</xs:documentation>

+				</xs:annotation>

+			</xs:any>

+		</xs:sequence>

+		<xs:anyAttribute namespace="##other" processContents="lax" />

+	</xs:complexType>

+	<xs:complexType name="ReferencePropertiesType">

+		<xs:sequence>

+			<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />

+		</xs:sequence>

+	</xs:complexType>

+	<xs:complexType name="ReferenceParametersType">

+		<xs:sequence>

+			<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />

+		</xs:sequence>

+	</xs:complexType>

+	<xs:complexType name="ServiceNameType">

+		<xs:simpleContent>

+			<xs:extension base="xs:QName">

+				<xs:attribute name="PortName" type="xs:NCName" />

+				<xs:anyAttribute namespace="##other" processContents="lax" />

+			</xs:extension>

+		</xs:simpleContent>

+	</xs:complexType>

+	<!-- Message information header blocks -->

+	<xs:element name="MessageID" type="wsa:AttributedURI" />

+	<xs:element name="RelatesTo" type="wsa:Relationship" />

+	<xs:element name="To" type="wsa:AttributedURI" />

+	<xs:element name="Action" type="wsa:AttributedURI" />

+	<xs:element name="From" type="wsa:EndpointReferenceType" />

+	<xs:element name="ReplyTo" type="wsa:EndpointReferenceType" />

+	<xs:element name="FaultTo" type="wsa:EndpointReferenceType" />

+	<xs:complexType name="Relationship">

+		<xs:simpleContent>

+			<xs:extension base="xs:anyURI">

+				<xs:attribute name="RelationshipType" type="xs:QName"
+					use="optional" />

+				<xs:anyAttribute namespace="##other" processContents="lax" />

+			</xs:extension>

+		</xs:simpleContent>

+	</xs:complexType>

+	<xs:simpleType name="RelationshipTypeValues">

+		<xs:restriction base="xs:QName">

+			<xs:enumeration value="wsa:Reply" />

+		</xs:restriction>

+	</xs:simpleType>

+	<xs:element name="ReplyAfter" type="wsa:ReplyAfterType" />

+	<xs:complexType name="ReplyAfterType">

+		<xs:simpleContent>

+			<xs:extension base="xs:nonNegativeInteger">

+				<xs:anyAttribute namespace="##other" />

+			</xs:extension>

+		</xs:simpleContent>

+	</xs:complexType>

+	<xs:simpleType name="FaultSubcodeValues">

+		<xs:restriction base="xs:QName">

+			<xs:enumeration value="wsa:InvalidMessageInformationHeader" />

+			<xs:enumeration value="wsa:MessageInformationHeaderRequired" />

+			<xs:enumeration value="wsa:DestinationUnreachable" />

+			<xs:enumeration value="wsa:ActionNotSupported" />

+			<xs:enumeration value="wsa:EndpointUnavailable" />

+		</xs:restriction>

+	</xs:simpleType>

+	<xs:attribute name="Action" type="xs:anyURI" />

+	<!-- Common declarations and definitions -->

+	<xs:complexType name="AttributedQName">

+		<xs:simpleContent>

+			<xs:extension base="xs:QName">

+				<xs:anyAttribute namespace="##other" processContents="lax" />

+			</xs:extension>

+		</xs:simpleContent>

+	</xs:complexType>

+	<xs:complexType name="AttributedURI">

+		<xs:simpleContent>

+			<xs:extension base="xs:anyURI">

+				<xs:anyAttribute namespace="##other" processContents="lax" />

+			</xs:extension>

+		</xs:simpleContent>

+	</xs:complexType>

+</xs:schema>

diff --git a/schema/ws-addr.xsd b/schema/ws-addr.xsd
index 00ac788..a8c3b09 100644
--- a/schema/ws-addr.xsd
+++ b/schema/ws-addr.xsd
@@ -1,153 +1,164 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
 <!--
-    W3C XML Schema defined in the Web Services Addressing 1.0 specification
-    http://www.w3.org/TR/ws-addr-core
-
-   Copyright © 2005 World Wide Web Consortium,
-
-   (Massachusetts Institute of Technology, European Research Consortium for
-   Informatics and Mathematics, Keio University). All Rights Reserved. This
-   work is distributed under the W3C® Software License [1] in the hope that
-   it will be useful, but WITHOUT ANY WARRANTY; without even the implied
-   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-
-   $Id: ws-addr.xsd,v 1.3 2005/08/09 13:17:35 hugo Exp $
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
+	W3C XML Schema defined in the Web Services Addressing 1.0 specification
+	http://www.w3.org/TR/ws-addr-core
 	
+	Copyright © 2005 World Wide Web Consortium,
+	
+	(Massachusetts Institute of Technology, European Research Consortium for
+	Informatics and Mathematics, Keio University). All Rights Reserved. This
+	work is distributed under the W3C® Software License [1] in the hope that
+	it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+	warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+	
+	[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+	
+	$Id: ws-addr.xsd,v 1.3 2005/08/09 13:17:35 hugo Exp $
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:tns="http://www.w3.org/2005/08/addressing"
+	targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all"
+	elementFormDefault="qualified" finalDefault=""
+	attributeFormDefault="unqualified">
+
 	<!-- Constructs from the WS-Addressing Core -->
 
-	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
+	<xs:element name="EndpointReference" type="tns:EndpointReferenceType" />
 	<xs:complexType name="EndpointReferenceType" mixed="false">
 		<xs:sequence>
-			<xs:element name="Address" type="tns:AttributedURIType"/>
-			<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType" minOccurs="0"/>
+			<xs:element name="Address" type="tns:AttributedURIType" />
+			<xs:element name="ReferenceParameters"
+				type="tns:ReferenceParametersType" minOccurs="0" />
 
-			<xs:element ref="tns:Metadata" minOccurs="0"/>
-			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element ref="tns:Metadata" minOccurs="0" />
+			<xs:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
 		</xs:sequence>
-		<xs:anyAttribute namespace="##other" processContents="lax"/>
+		<xs:anyAttribute namespace="##other" processContents="lax" />
 	</xs:complexType>
-	
+
 	<xs:complexType name="ReferenceParametersType" mixed="false">
 		<xs:sequence>
-			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
 		</xs:sequence>
 
-		<xs:anyAttribute namespace="##other" processContents="lax"/>
+		<xs:anyAttribute namespace="##other" processContents="lax" />
 	</xs:complexType>
-	
-	<xs:element name="Metadata" type="tns:MetadataType"/>
+
+	<xs:element name="Metadata" type="tns:MetadataType" />
 	<xs:complexType name="MetadataType" mixed="false">
 		<xs:sequence>
-			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
 		</xs:sequence>
-		<xs:anyAttribute namespace="##other" processContents="lax"/>
+		<xs:anyAttribute namespace="##other" processContents="lax" />
 	</xs:complexType>
 
-	
-	<xs:element name="MessageID" type="tns:AttributedURIType"/>
-	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
+
+	<xs:element name="MessageID" type="tns:AttributedURIType" />
+	<xs:element name="RelatesTo" type="tns:RelatesToType" />
 	<xs:complexType name="RelatesToType" mixed="false">
 		<xs:simpleContent>
 			<xs:extension base="xs:anyURI">
-				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
-				<xs:anyAttribute namespace="##other" processContents="lax"/>
+				<xs:attribute name="RelationshipType"
+					type="tns:RelationshipTypeOpenEnum" use="optional"
+					default="http://www.w3.org/2005/08/addressing/reply" />
+				<xs:anyAttribute namespace="##other" processContents="lax" />
 			</xs:extension>
 		</xs:simpleContent>
 
 	</xs:complexType>
-	
+
 	<xs:simpleType name="RelationshipTypeOpenEnum">
-		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
+		<xs:union memberTypes="tns:RelationshipType xs:anyURI" />
 	</xs:simpleType>
-	
+
 	<xs:simpleType name="RelationshipType">
 		<xs:restriction base="xs:anyURI">
-			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
+			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply" />
 		</xs:restriction>
 	</xs:simpleType>
 
-	
-	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
-	<xs:element name="From" type="tns:EndpointReferenceType"/>
-	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
-	<xs:element name="To" type="tns:AttributedURIType"/>
-	<xs:element name="Action" type="tns:AttributedURIType"/>
+
+	<xs:element name="ReplyTo" type="tns:EndpointReferenceType" />
+	<xs:element name="From" type="tns:EndpointReferenceType" />
+	<xs:element name="FaultTo" type="tns:EndpointReferenceType" />
+	<xs:element name="To" type="tns:AttributedURIType" />
+	<xs:element name="Action" type="tns:AttributedURIType" />
 
 	<xs:complexType name="AttributedURIType" mixed="false">
 		<xs:simpleContent>
 			<xs:extension base="xs:anyURI">
 
-				<xs:anyAttribute namespace="##other" processContents="lax"/>
+				<xs:anyAttribute namespace="##other" processContents="lax" />
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
-	
+
 	<!-- Constructs from the WS-Addressing SOAP binding -->
 
-	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
-	
+	<xs:attribute name="IsReferenceParameter" type="xs:boolean" />
+
 	<xs:simpleType name="FaultCodesOpenEnumType">
-		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
+		<xs:union memberTypes="tns:FaultCodesType xs:QName" />
 
 	</xs:simpleType>
-	
+
 	<xs:simpleType name="FaultCodesType">
 		<xs:restriction base="xs:QName">
-			<xs:enumeration value="tns:InvalidAddressingHeader"/>
-			<xs:enumeration value="tns:InvalidAddress"/>
-			<xs:enumeration value="tns:InvalidEPR"/>
-			<xs:enumeration value="tns:InvalidCardinality"/>
-			<xs:enumeration value="tns:MissingAddressInEPR"/>
-			<xs:enumeration value="tns:DuplicateMessageID"/>
+			<xs:enumeration value="tns:InvalidAddressingHeader" />
+			<xs:enumeration value="tns:InvalidAddress" />
+			<xs:enumeration value="tns:InvalidEPR" />
+			<xs:enumeration value="tns:InvalidCardinality" />
+			<xs:enumeration value="tns:MissingAddressInEPR" />
+			<xs:enumeration value="tns:DuplicateMessageID" />
 
-			<xs:enumeration value="tns:ActionMismatch"/>
-			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
-			<xs:enumeration value="tns:DestinationUnreachable"/>
-			<xs:enumeration value="tns:ActionNotSupported"/>
-			<xs:enumeration value="tns:EndpointUnavailable"/>
+			<xs:enumeration value="tns:ActionMismatch" />
+			<xs:enumeration value="tns:MessageAddressingHeaderRequired" />
+			<xs:enumeration value="tns:DestinationUnreachable" />
+			<xs:enumeration value="tns:ActionNotSupported" />
+			<xs:enumeration value="tns:EndpointUnavailable" />
 		</xs:restriction>
 	</xs:simpleType>
-	
-	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
+
+	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType" />
 	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
 
 		<xs:simpleContent>
 			<xs:extension base="xs:unsignedLong">
-				<xs:anyAttribute namespace="##other" processContents="lax"/>
+				<xs:anyAttribute namespace="##other" processContents="lax" />
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
-	
-	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
+
+	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType" />
 	<xs:complexType name="AttributedQNameType" mixed="false">
 		<xs:simpleContent>
 
 			<xs:extension base="xs:QName">
-				<xs:anyAttribute namespace="##other" processContents="lax"/>
+				<xs:anyAttribute namespace="##other" processContents="lax" />
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
-	
-	<xs:element name="ProblemHeader" type="tns:AttributedAnyType"/>
+
+	<xs:element name="ProblemHeader" type="tns:AttributedAnyType" />
 	<xs:complexType name="AttributedAnyType" mixed="false">
 		<xs:sequence>
-			<xs:any namespace="##any" processContents="lax" minOccurs="1" maxOccurs="1"/>
+			<xs:any namespace="##any" processContents="lax" minOccurs="1"
+				maxOccurs="1" />
 
 		</xs:sequence>
-		<xs:anyAttribute namespace="##other" processContents="lax"/>
+		<xs:anyAttribute namespace="##other" processContents="lax" />
 	</xs:complexType>
-	
-	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
-	
-	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
+
+	<xs:element name="ProblemIRI" type="tns:AttributedURIType" />
+
+	<xs:element name="ProblemAction" type="tns:ProblemActionType" />
 	<xs:complexType name="ProblemActionType" mixed="false">
 		<xs:sequence>
-			<xs:element ref="tns:Action" minOccurs="0"/>
+			<xs:element ref="tns:Action" minOccurs="0" />
 			<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
 
 		</xs:sequence>
diff --git a/schema/wsat.xsd b/schema/wsat.xsd
index a00bf5c..021d377 100644
--- a/schema/wsat.xsd
+++ b/schema/wsat.xsd
@@ -1,33 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Copyright (c) OASIS Open 2006.  -->
-<xsd:schema targetNamespace="http://docs.oasis-open.org/ws-tx/wsat/2006/06" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsat="http://docs.oasis-open.org/ws-tx/wsat/2006/06" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
-    <xsd:complexType name="Notification">
-        <xsd:sequence>
-            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-        <xsd:anyAttribute namespace="##other" processContents="lax"/>
-    </xsd:complexType>
-    <xsd:element name="Prepare" type="wsat:Notification"/>
-    <xsd:element name="Prepared" type="wsat:Notification"/>
-    <xsd:element name="Aborted" type="wsat:Notification"/>
-    <xsd:element name="ReadOnly" type="wsat:Notification"/>
-    <xsd:element name="Commit" type="wsat:Notification"/>
-    <xsd:element name="Rollback" type="wsat:Notification"/>
-    <xsd:element name="Committed" type="wsat:Notification"/>
-    <xsd:simpleType name="ErrorCodes">
-        <xsd:restriction base="xsd:QName">
-            <xsd:enumeration value="wsat:InconsistentInternalState"/>
-            <xsd:enumeration value="wsat:UnknownTransaction"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    
-    <!-- Policy assertion -->
-    <xsd:element name="ATAssertion">
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-            <xsd:anyAttribute namespace="##other" processContents="lax"/>
-        </xsd:complexType>
+<xsd:schema targetNamespace="http://docs.oasis-open.org/ws-tx/wsat/2006/06"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:wsat="http://docs.oasis-open.org/ws-tx/wsat/2006/06"
+	elementFormDefault="qualified" attributeFormDefault="unqualified"
+	version="1.0">
+	<xsd:complexType name="Notification">
+		<xsd:sequence>
+			<xsd:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xsd:sequence>
+		<xsd:anyAttribute namespace="##other" processContents="lax" />
+	</xsd:complexType>
+	<xsd:element name="Prepare" type="wsat:Notification" />
+	<xsd:element name="Prepared" type="wsat:Notification" />
+	<xsd:element name="Aborted" type="wsat:Notification" />
+	<xsd:element name="ReadOnly" type="wsat:Notification" />
+	<xsd:element name="Commit" type="wsat:Notification" />
+	<xsd:element name="Rollback" type="wsat:Notification" />
+	<xsd:element name="Committed" type="wsat:Notification" />
+	<xsd:simpleType name="ErrorCodes">
+		<xsd:restriction base="xsd:QName">
+			<xsd:enumeration value="wsat:InconsistentInternalState" />
+			<xsd:enumeration value="wsat:UnknownTransaction" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<!-- Policy assertion -->
+	<xsd:element name="ATAssertion">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:any namespace="##other" processContents="lax" minOccurs="0"
+					maxOccurs="unbounded" />
+			</xsd:sequence>
+			<xsd:anyAttribute namespace="##other" processContents="lax" />
+		</xsd:complexType>
     </xsd:element>
 </xsd:schema>
\ No newline at end of file
diff --git a/schema/wscoor.xsd b/schema/wscoor.xsd
index fbe4ead..1b9607a 100644
--- a/schema/wscoor.xsd
+++ b/schema/wscoor.xsd
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Copyright (c) OASIS Open 2006.  -->
-<xsd:schema targetNamespace="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+<xsd:schema targetNamespace="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
   <!-- Replaced wsa:endpointnreference with xsd:any due to Axis2 ADB not being able parse ws-addr.xsd..  -->
-  <!-- xsd:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="ws-addr.xsd"/-->
+  <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="addr.xsd"/>
   <xsd:element name="Expires">
     <xsd:complexType>
       <xsd:simpleContent>
@@ -25,7 +25,7 @@
       </xsd:element>
       <xsd:element ref="wscoor:Expires" minOccurs="0"/>
       <xsd:element name="CoordinationType" type="xsd:anyURI"/>
-      <xsd:element name="RegistrationService" type="xsd:anyType"/>
+      <xsd:element name="RegistrationService" type="wsa:EndpointReferenceType"/>
     </xsd:sequence>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
   </xsd:complexType>
@@ -71,7 +71,7 @@
   <xsd:complexType name="RegisterType">
     <xsd:sequence>
       <xsd:element name="ProtocolIdentifier" type="xsd:anyURI"/>
-      <xsd:element name="ParticipantProtocolService" type="xsd:anyType"/>
+      <xsd:element name="ParticipantProtocolService" type="wsa:EndpointReferenceType"/>
       <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
@@ -79,7 +79,7 @@
   <xsd:element name="Register" type="wscoor:RegisterType"/>
   <xsd:complexType name="RegisterResponseType">
     <xsd:sequence>
-      <xsd:element name="CoordinatorProtocolService" type="xsd:anyType"/>
+      <xsd:element name="CoordinatorProtocolService" type="wsa:EndpointReferenceType"/>
       <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
     <xsd:anyAttribute namespace="##other" processContents="lax"/>
diff --git a/test/interop/InteropTest.java b/test/interop/InteropTest.java
index 903c1d7..c210c7e 100644
--- a/test/interop/InteropTest.java
+++ b/test/interop/InteropTest.java
@@ -28,8 +28,7 @@
 

 public class InteropTest extends TestCase {

 

-	EndpointReference coordinator = new EndpointReference(

-			"http://127.0.0.1:8086/axis2/services/ActivationCoordinator");

+	String coordinatorEPR = "http://127.0.0.1:8086/axis2/services/ActivationCoordinator";

 

 	String axis2Repo = "target/initiator-repository";

 

@@ -49,39 +48,34 @@
 	}

 

 	public void testCompletionCommit() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		tm.commit();

 	}

 

 	public void testCompletionRollback() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager( axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		tm.rollback();

 	}

 

 	public void testCommit() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.commitOperation();

 		tm.commit();

 	}

 

 	public void testRollback() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(true);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.rollbackOperation();

 		tm.rollback();

 	}

 

 	public void testPhase2Rollback() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.phase2RollbackOperation();

 

 		boolean done = false;

@@ -94,24 +88,21 @@
 	}

 

 	public void testReadonly() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.readonlyOperation();

 		tm.commit();

 	}

 

 	public void testVolatileAndDurable() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.readonlyOperation();

 		tm.commit();

 	}

 	public void testEarlyAborted() throws Exception {

-		TransactionManager tm = new TransactionManager(Constants.WS_AT,

-				coordinator, axis2Repo, axis2XML);

-		tm.begin(false);

+		TransactionManager tm = new TransactionManager(axis2Repo, axis2XML);

+		tm.begin(coordinatorEPR);

 		stub.earlyAbortedOperation();

 		Thread.sleep(5000);

 	}

diff --git a/test/interop/testService.java b/test/interop/testService.java
index f5e13d4..6f54f52 100644
--- a/test/interop/testService.java
+++ b/test/interop/testService.java
@@ -34,8 +34,8 @@
 import org.apache.kandula.faults.AbstractKandulaException;
 import org.apache.kandula.participant.KandulaResource;
 import org.apache.kandula.participant.ParticipantUtility;
-import org.apache.kandula.storage.StorageFactory;
 import org.apache.kandula.storage.Store;
+import org.apache.kandula.storage.StorageUtils;
 import org.apache.kandula.wsat.twopc.CoordinatorPortTypeRawXMLStub;
 
 /**
@@ -65,9 +65,8 @@
 
 		String reqID = (String) msgcts
 				.getProperty(AbstractContext.REQUESTER_ID);
-		Store store = StorageFactory.getInstance().getStore();
-		ATParticipantContext participantContext = (ATParticipantContext) store
-				.get(reqID);
+		ATParticipantContext participantContext = (ATParticipantContext) StorageUtils
+				.getContext(reqID);
 		CoordinationContext coordinationContext = participantContext
 				.getCoordinationContext();
 
@@ -75,15 +74,16 @@
 		participantContext2.setCoordinationContext(coordinationContext);
 		KandulaResource resource1 = new Phase2RollbackTestVolatileResource();
 		participantContext2.setResource(resource1);
-		store.put(participantContext2.getID(), participantContext2);
-		ParticipantUtility.registerParticipant(participantContext2);
+		StorageUtils.putContext(participantContext2);
+		MessageContext currentMessageContext = MessageContext.getCurrentMessageContext();
+		ParticipantUtility.registerParticipant(participantContext2,currentMessageContext);
 
 		ATParticipantContext participantContext1 = new ATParticipantContext();
 		participantContext1.setCoordinationContext(coordinationContext);
 		KandulaResource resource = new RollbackTestResource();
 		participantContext1.setResource(resource);
-		store.put(participantContext1.getID(), participantContext1);
-		ParticipantUtility.registerParticipant(participantContext1);
+		StorageUtils.putContext(participantContext1);
+		ParticipantUtility.registerParticipant(participantContext1,currentMessageContext);
 
 		return getResponseElement();
 	}
@@ -92,9 +92,8 @@
 
 		String reqID = (String) msgcts
 				.getProperty(AbstractContext.REQUESTER_ID);
-		Store store = StorageFactory.getInstance().getStore();
-		ATParticipantContext participantContext = (ATParticipantContext) store
-				.get(reqID);
+		ATParticipantContext participantContext = (ATParticipantContext) StorageUtils
+		.getContext(reqID);
 		CoordinationContext coordinationContext = participantContext
 				.getCoordinationContext();
 
@@ -102,15 +101,16 @@
 		participantContext2.setCoordinationContext(coordinationContext);
 		KandulaResource resource1 = new DurableReadOnlyResource();
 		participantContext2.setResource(resource1);
-		store.put(participantContext2.getID(), participantContext2);
-		ParticipantUtility.registerParticipant(participantContext2);
+		StorageUtils.putContext(participantContext2);
+		MessageContext messageContext = MessageContext.getCurrentMessageContext();
+		ParticipantUtility.registerParticipant(participantContext2,messageContext);
 
 		ATParticipantContext participantContext1 = new ATParticipantContext();
 		participantContext1.setCoordinationContext(coordinationContext);
 		KandulaResource resource = new CommitTestResource();
 		participantContext1.setResource(resource);
-		store.put(participantContext1.getID(), participantContext1);
-		ParticipantUtility.registerParticipant(participantContext1);
+		StorageUtils.putContext(participantContext1);
+		ParticipantUtility.registerParticipant(participantContext1,messageContext);
 
 		return getResponseElement();
 	}
@@ -119,9 +119,8 @@
 
 		String reqID = (String) msgcts
 				.getProperty(AbstractContext.REQUESTER_ID);
-		final Store store = StorageFactory.getInstance().getStore();
-		ATParticipantContext participantContext = (ATParticipantContext) store
-				.get(reqID);
+		ATParticipantContext participantContext = (ATParticipantContext) StorageUtils
+		.getContext(reqID);
 		final CoordinationContext coordinationContext = participantContext
 				.getCoordinationContext();
 
@@ -129,8 +128,9 @@
 		participantContext2.setCoordinationContext(coordinationContext);
 		KandulaResource resource1 = new VolatileAndDurableTestVolatileResource();
 		participantContext2.setResource(resource1);
-		store.put(participantContext2.getID(), participantContext2);
-		ParticipantUtility.registerParticipant(participantContext2);
+		StorageUtils.putContext(participantContext2);
+		final MessageContext messageContext = MessageContext.getCurrentMessageContext();
+		ParticipantUtility.registerParticipant(participantContext2,messageContext);
 		Thread thread = new Thread(new Runnable() {
 			public void run() {
 				try {
@@ -139,17 +139,17 @@
 							.setCoordinationContext(coordinationContext);
 					KandulaResource resource = new CommitTestResource();
 					participantContext1.setResource(resource);
-					store.put(participantContext1.getID(), participantContext1);
+					StorageUtils.putContext(participantContext1);
 
 					Map referenceParametersmap = participantContext2
 							.getCoordinationEPR().getAllReferenceParameters();
 					String id = ((OMElement) referenceParametersmap
 							.get(Constants.TRANSACTION_ID_PARAMETER)).getText();
-					AbstractContext transaction = (AbstractContext) store
-							.get(id);
+					AbstractContext transaction = (AbstractContext) StorageUtils
+					.getContext(id);
 					while (!(transaction.getStatus() == Status.CoordinatorStatus.STATUS_PREPARING_VOLATILE)) {
 					}
-					ParticipantUtility.registerParticipant(participantContext1);
+					ParticipantUtility.registerParticipant(participantContext1,messageContext);
 
 				} catch (AxisFault e) {
 					// TODO Auto-generated catch block
@@ -165,9 +165,7 @@
 
 		String reqID = (String) msgcts
 				.getProperty(AbstractContext.REQUESTER_ID);
-		Store store = StorageFactory.getInstance().getStore();
-		ATParticipantContext participantContext = (ATParticipantContext) store
-				.get(reqID);
+		ATParticipantContext participantContext = (ATParticipantContext) StorageUtils.getContext(reqID);
 		CoordinationContext coordinationContext = participantContext
 				.getCoordinationContext();
 
@@ -175,15 +173,16 @@
 		participantContext2.setCoordinationContext(coordinationContext);
 		KandulaResource resource1 = new CommitTestResource();
 		participantContext2.setResource(resource1);
-		store.put(participantContext2.getID(), participantContext2);
-		ParticipantUtility.registerParticipant(participantContext2);
+		StorageUtils.putContext( participantContext2);
+		MessageContext messageContext = MessageContext.getCurrentMessageContext();
+		ParticipantUtility.registerParticipant(participantContext2,messageContext);
 
 		ATParticipantContext participantContext1 = new ATParticipantContext();
 		participantContext1.setCoordinationContext(coordinationContext);
 		KandulaResource resource = new VolatileReadOnlyResource();
 		participantContext1.setResource(resource);
-		store.put(participantContext1.getID(), participantContext1);
-		ParticipantUtility.registerParticipant(participantContext1);
+		StorageUtils.putContext(participantContext1);
+		ParticipantUtility.registerParticipant(participantContext1,messageContext);
 
 		CoordinatorPortTypeRawXMLStub stub;
 		try {
diff --git a/test/org/apache/kandula/integration/CompletionCommitTest.java b/test/org/apache/kandula/integration/CompletionCommitTest.java
index f4d1319..a34f09f 100644
--- a/test/org/apache/kandula/integration/CompletionCommitTest.java
+++ b/test/org/apache/kandula/integration/CompletionCommitTest.java
@@ -28,7 +28,6 @@
 import org.apache.axis2.context.ConfigurationContext;

 import org.apache.axis2.context.ConfigurationContextFactory;

 import org.apache.axis2.transport.http.SimpleHTTPServer;

-import org.apache.kandula.Constants;

 import org.apache.kandula.initiator.TransactionManager;

 

 public class CompletionCommitTest extends TestCase {

@@ -81,14 +80,9 @@
 	}

 

 	public void testEchoXMLASync() throws Exception {

-		TransactionManager tm = new TransactionManager(

-				Constants.WS_AT,

-				new EndpointReference(

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

-				"target/initiator-repository",

+		TransactionManager tm = new TransactionManager("target/initiator-repository",

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

-		tm.begin(false);

-		 

+		tm.begin("http://localhost:8081/axis2/services/ActivationCoordinator");

 		 stub.creditOperation();

 		 tm.commit();

 		Thread.sleep(5000);