Author: thilina
Date: Sat Jul 22 22:49:39 2006
New Revision: 424679

URL: http://svn.apache.org/viewvc?rev=424679&view=rev
Log:
New interop testing code 

Added:
    webservices/kandula/trunk/java/test/interop/
    webservices/kandula/trunk/java/test/interop/CommitTestResource.java
    webservices/kandula/trunk/java/test/interop/DurableReadOnlyResource.java
    webservices/kandula/trunk/java/test/interop/InteropTest.java
    webservices/kandula/trunk/java/test/interop/META-INF/
    webservices/kandula/trunk/java/test/interop/META-INF/services.xml
    
webservices/kandula/trunk/java/test/interop/Phase2RollbackTestVolatileResource.java
    webservices/kandula/trunk/java/test/interop/RollbackTestResource.java
    webservices/kandula/trunk/java/test/interop/TestServiceStub.java
    
webservices/kandula/trunk/java/test/interop/VolatileAndDurableTestVolatileResource.java
    webservices/kandula/trunk/java/test/interop/VolatileReadOnlyResource.java
    webservices/kandula/trunk/java/test/interop/testService.java
    
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
Removed:
    
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CreateCoordinationContextTest.java
Modified:
    
webservices/kandula/trunk/java/test/org/apache/kandula/context/ActivityContextTest.java
    
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/CoordinatorImplTest.java
    
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/at/ATCoordinatorTest.java
    
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
    
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoServiceStub.java

Added: webservices/kandula/trunk/java/test/interop/CommitTestResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/CommitTestResource.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/CommitTestResource.java (added)
+++ webservices/kandula/trunk/java/test/interop/CommitTestResource.java Sat Jul 
22 22:49:39 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class CommitTestResource implements KandulaResource {
+
+       /**
+        * 
+        */
+       public CommitTestResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+
+       }
+
+       public Vote prepare() {
+               return Vote.PREPARED;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_DURABLE2PC;
+       }
+
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/DurableReadOnlyResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/DurableReadOnlyResource.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/DurableReadOnlyResource.java 
(added)
+++ webservices/kandula/trunk/java/test/interop/DurableReadOnlyResource.java 
Sat Jul 22 22:49:39 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class DurableReadOnlyResource implements KandulaResource {
+
+       /**
+        * 
+        */
+       public DurableReadOnlyResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+       }
+
+       public Vote prepare() {
+               return Vote.READ_ONLY;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_DURABLE2PC;
+       }
+
+
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/InteropTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/InteropTest.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/InteropTest.java (added)
+++ webservices/kandula/trunk/java/test/interop/InteropTest.java Sat Jul 22 
22:49:39 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2004,2005 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.
+ */
+
+package interop;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thilina Gunarathne </a>
+ */
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.kandula.Constants;
+import org.apache.kandula.initiator.TransactionManager;
+
+public class InteropTest extends TestCase {
+
+       EndpointReference coordinator = new EndpointReference(
+                       
"http://localhost:8085/axis2/services/ActivationCoordinator";);
+
+       String axis2Repo = "target/initiator-repository";
+
+       String axis2XML = "target/initiator-repository/axis2.xml";
+
+       TestServiceStub stub = new 
TestServiceStub("target/initiator-repository",
+                       new EndpointReference(
+                                       
"http://localhost:8085/axis2/services/TestService";));
+
+       public InteropTest() throws Exception {
+               super(InteropTest.class.getName());
+       }
+
+       public InteropTest(String testName) throws Exception {
+               super(testName);
+       }
+
+       public void testCompletionCommit() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               tm.commit();
+       }
+
+       public void testCompletionRollback() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               tm.rollback();
+       }
+
+       public void testCommit() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.commitOperation();
+               tm.commit();
+       }
+
+       public void testRollback() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.rollbackOperation();
+               tm.rollback();
+       }
+
+       public void testPhase2Rollback() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.phase2RollbackOperation();
+
+               boolean done = false;
+               try {
+                       tm.commit();
+               } catch (Exception e) {
+                       done = true;
+               }
+               assertTrue(done);
+       }
+
+       public void testReadonly() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.readonlyOperation();
+               tm.commit();
+       }
+
+       public void testVolatileAndDurable() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.readonlyOperation();
+               tm.commit();
+       }
+       public void testEarlyAborted() throws Exception {
+               TransactionManager tm = new TransactionManager(Constants.WS_AT,
+                               coordinator, axis2Repo, axis2XML);
+               tm.begin(true);
+               stub.earlyAbortedOperation();
+       }
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/META-INF/services.xml
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/META-INF/services.xml?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/META-INF/services.xml (added)
+++ webservices/kandula/trunk/java/test/interop/META-INF/services.xml Sat Jul 
22 22:49:39 2006
@@ -0,0 +1,27 @@
+<service name="TestService">
+       <description>
+       Sample service for Testing
+       </description>
+    <module ref="kandula-inflow"/>
+       <parameter name="ServiceClass" 
locked="xsd:false">interop.testService</parameter>
+    <operation name="Commit">
+               <parameter name="KandulaResource" 
locked="xsd:false">interop.CommitTestResource</parameter>
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+       </operation>
+       <operation name="Rollback">
+               <parameter name="KandulaResource" 
locked="xsd:false">interop.RollbackTestResource</parameter>
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+       </operation>
+       <operation name="Phase2Rollback">
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+       <operation name="Readonly">
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+    <operation name="VolatileAndDurable">
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+    <operation name="EarlyAborted">
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+</service>

Added: 
webservices/kandula/trunk/java/test/interop/Phase2RollbackTestVolatileResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/Phase2RollbackTestVolatileResource.java?rev=424679&view=auto
==============================================================================
--- 
webservices/kandula/trunk/java/test/interop/Phase2RollbackTestVolatileResource.java
 (added)
+++ 
webservices/kandula/trunk/java/test/interop/Phase2RollbackTestVolatileResource.java
 Sat Jul 22 22:49:39 2006
@@ -0,0 +1,53 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class Phase2RollbackTestVolatileResource implements KandulaResource {
+
+       /**
+        * 
+        */
+       public Phase2RollbackTestVolatileResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+
+       }
+
+       public Vote prepare() {
+               return Vote.PREPARED;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_VOLATILE2PC;
+       }
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/RollbackTestResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/RollbackTestResource.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/RollbackTestResource.java 
(added)
+++ webservices/kandula/trunk/java/test/interop/RollbackTestResource.java Sat 
Jul 22 22:49:39 2006
@@ -0,0 +1,53 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class RollbackTestResource implements KandulaResource {
+
+       /**
+        * 
+        */
+       public RollbackTestResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+
+       }
+
+       public Vote prepare() {
+               return Vote.ABORT;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_DURABLE2PC;
+       }
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/TestServiceStub.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/TestServiceStub.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/TestServiceStub.java (added)
+++ webservices/kandula/trunk/java/test/interop/TestServiceStub.java Sat Jul 22 
22:49:39 2006
@@ -0,0 +1,225 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import java.io.IOException;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.OperationClient;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.AxisServiceGroup;
+import org.apache.axis2.description.OutInAxisOperation;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+
+public class TestServiceStub extends org.apache.axis2.client.Stub {
+
+       public static final String AXIS2_HOME = ".";
+
+       // private AxisService service;
+       private ConfigurationContext configurationContext;
+
+       private ServiceContext serviceContext;
+
+       private EndpointReference toEPR;
+
+       private static org.apache.axis2.description.AxisOperation[] operations;
+       {// creating the Service
+               _service = new AxisService("TestService");
+
+               // creating the operations
+               AxisOperation operationDesc;
+               operations = new org.apache.axis2.description.AxisOperation[1];
+
+               operationDesc = new OutInAxisOperation();
+               operationDesc.setName(new javax.xml.namespace.QName("Commit"));
+               operations[0] = operationDesc;
+               _service.addOperation(operationDesc);
+       }
+
+       /**
+        * Constructor
+        */
+       public TestServiceStub(String axis2Home,
+                       EndpointReference targetEndpoint) throws 
java.lang.Exception {
+               this.toEPR = targetEndpoint;
+               // creating the configuration
+               configurationContext = ConfigurationContextFactory
+                               
.createConfigurationContextFromFileSystem(axis2Home, axis2Home
+                                               + "/axis2.xml");
+               
configurationContext.getAxisConfiguration().addService(_service);
+               ServiceGroupContext sgc = new ServiceGroupContext(
+                               this.configurationContext, (AxisServiceGroup) 
_service
+                                               .getParent());
+               this.serviceContext = new ServiceContext(_service, sgc);
+
+       }
+
+       public void commitOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               options.setAction("Commit");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+
+       }
+
+       public void rollbackOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("Rollback");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+       public void phase2RollbackOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("Phase2Rollback");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+       public void readonlyOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("Readonly");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+       public void volatileAndDurableOperation() throws IOException, AxisFault 
{
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("VolatileAndDurable");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+       public void earlyAbortedOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("EarlyAborted");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+
+       private SOAPEnvelope createSOAPEnvelope() {
+
+               SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
+               SOAPEnvelope env = factory.getDefaultEnvelope();
+//             SOAPBody body = factory.createSOAPBody();
+//             env.addChild(body);
+               OMElement test = factory.createOMElement("test","urn://temp", 
"tmp");
+               env.getBody().addChild(test);
+               return env;
+       }
+
+}
\ No newline at end of file

Added: 
webservices/kandula/trunk/java/test/interop/VolatileAndDurableTestVolatileResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/VolatileAndDurableTestVolatileResource.java?rev=424679&view=auto
==============================================================================
--- 
webservices/kandula/trunk/java/test/interop/VolatileAndDurableTestVolatileResource.java
 (added)
+++ 
webservices/kandula/trunk/java/test/interop/VolatileAndDurableTestVolatileResource.java
 Sat Jul 22 22:49:39 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class VolatileAndDurableTestVolatileResource implements KandulaResource 
{
+
+       /**
+        * 
+        */
+       public VolatileAndDurableTestVolatileResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+
+       }
+
+       public Vote prepare() {
+               return Vote.READ_ONLY;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_VOLATILE2PC;
+       }
+
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/VolatileReadOnlyResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/VolatileReadOnlyResource.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/VolatileReadOnlyResource.java 
(added)
+++ webservices/kandula/trunk/java/test/interop/VolatileReadOnlyResource.java 
Sat Jul 22 22:49:39 2006
@@ -0,0 +1,53 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.participant.KandulaResource;
+import org.apache.kandula.participant.Vote;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class VolatileReadOnlyResource implements KandulaResource {
+
+       /**
+        * 
+        */
+       public VolatileReadOnlyResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public boolean commit() {
+               System.out.println("Commited");
+               return true;
+       }
+
+       public void rollback() {
+               System.out.println("rollback");
+       }
+
+       public Vote prepare() {
+               return Vote.READ_ONLY;
+       }
+
+       public String getProtocol() {
+               return Constants.WS_AT_VOLATILE2PC;
+       }
+
+}
\ No newline at end of file

Added: webservices/kandula/trunk/java/test/interop/testService.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/testService.java?rev=424679&view=auto
==============================================================================
--- webservices/kandula/trunk/java/test/interop/testService.java (added)
+++ webservices/kandula/trunk/java/test/interop/testService.java Sat Jul 22 
22:49:39 2006
@@ -0,0 +1,204 @@
+/*
+ * Copyright  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.
+ *
+ */
+package interop;
+
+import java.util.Map;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.kandula.Constants;
+import org.apache.kandula.Status;
+import org.apache.kandula.context.AbstractContext;
+import org.apache.kandula.context.CoordinationContext;
+import org.apache.kandula.context.impl.ATParticipantContext;
+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.wsat.twopc.CoordinatorPortTypeRawXMLStub;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class testService {
+
+       private MessageContext msgcts;
+
+       public testService() {
+
+       }
+
+       public void setOperationContext(OperationContext oc) throws AxisFault {
+               msgcts = 
oc.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+       }
+
+       public OMElement Commit(OMElement element) {
+               element.build();
+               element.detach();
+               return element;
+       }
+
+       public OMElement Rollback(OMElement element) {
+               element.build();
+               element.detach();
+               return element;
+       }
+
+       public OMElement Phase2Rollback(OMElement element) throws AxisFault {
+               element.build();
+               element.detach();
+               String reqID = (String) msgcts
+                               .getProperty(AbstractContext.REQUESTER_ID);
+               Store store = StorageFactory.getInstance().getStore();
+               ATParticipantContext participantContext = 
(ATParticipantContext) store
+                               .get(reqID);
+               CoordinationContext coordinationContext = participantContext
+                               .getCoordinationContext();
+
+               ATParticipantContext participantContext2 = new 
ATParticipantContext();
+               participantContext2.setCoordinationContext(coordinationContext);
+               KandulaResource resource1 = new 
Phase2RollbackTestVolatileResource();
+               participantContext2.setResource(resource1);
+               store.put(participantContext2.getID(), participantContext2);
+               ParticipantUtility.registerParticipant(participantContext2);
+
+               ATParticipantContext participantContext1 = new 
ATParticipantContext();
+               participantContext1.setCoordinationContext(coordinationContext);
+               KandulaResource resource = new RollbackTestResource();
+               participantContext1.setResource(resource);
+               store.put(participantContext1.getID(), participantContext1);
+               ParticipantUtility.registerParticipant(participantContext1);
+
+               return element;
+       }
+
+       public OMElement Readonly(OMElement element) throws AxisFault {
+               element.build();
+               element.detach();
+               String reqID = (String) msgcts
+                               .getProperty(AbstractContext.REQUESTER_ID);
+               Store store = StorageFactory.getInstance().getStore();
+               ATParticipantContext participantContext = 
(ATParticipantContext) store
+                               .get(reqID);
+               CoordinationContext coordinationContext = participantContext
+                               .getCoordinationContext();
+
+               ATParticipantContext participantContext2 = new 
ATParticipantContext();
+               participantContext2.setCoordinationContext(coordinationContext);
+               KandulaResource resource1 = new DurableReadOnlyResource();
+               participantContext2.setResource(resource1);
+               store.put(participantContext2.getID(), participantContext2);
+               ParticipantUtility.registerParticipant(participantContext2);
+
+               ATParticipantContext participantContext1 = new 
ATParticipantContext();
+               participantContext1.setCoordinationContext(coordinationContext);
+               KandulaResource resource = new CommitTestResource();
+               participantContext1.setResource(resource);
+               store.put(participantContext1.getID(), participantContext1);
+               ParticipantUtility.registerParticipant(participantContext1);
+
+               return element;
+       }
+
+       public OMElement VolatileAndDurable(OMElement element) throws AxisFault 
{
+               element.build();
+               element.detach();
+               String reqID = (String) msgcts
+                               .getProperty(AbstractContext.REQUESTER_ID);
+               final Store store = StorageFactory.getInstance().getStore();
+               ATParticipantContext participantContext = 
(ATParticipantContext) store
+                               .get(reqID);
+               final CoordinationContext coordinationContext = 
participantContext
+                               .getCoordinationContext();
+
+               final ATParticipantContext participantContext2 = new 
ATParticipantContext();
+               participantContext2.setCoordinationContext(coordinationContext);
+               KandulaResource resource1 = new 
VolatileAndDurableTestVolatileResource();
+               participantContext2.setResource(resource1);
+               store.put(participantContext2.getID(), participantContext2);
+               ParticipantUtility.registerParticipant(participantContext2);
+               Thread thread = new Thread(new Runnable() {
+                       public void run() {
+                               try {
+                                       ATParticipantContext 
participantContext1 = new ATParticipantContext();
+                                       participantContext1
+                                                       
.setCoordinationContext(coordinationContext);
+                                       KandulaResource resource = new 
CommitTestResource();
+                                       
participantContext1.setResource(resource);
+                                       store.put(participantContext1.getID(), 
participantContext1);
+
+                                       Map referenceParametersmap = 
participantContext2
+                                                       
.getCoordinationEPR().getAllReferenceParameters();
+                                       String id = ((OMElement) 
referenceParametersmap
+                                                       
.get(Constants.TRANSACTION_ID_PARAMETER)).getText();
+                                       AbstractContext transaction = 
(AbstractContext) store
+                                                       .get(id);
+                                       while (!(transaction.getStatus() == 
Status.CoordinatorStatus.STATUS_PREPARING_VOLATILE)) {
+                                       }
+                                       
ParticipantUtility.registerParticipant(participantContext1);
+
+                               } catch (AxisFault e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                       }
+               });
+               thread.start();
+               return element;
+       }
+
+       public OMElement EarlyAborted(OMElement element) throws AxisFault {
+               element.build();
+               element.detach();
+               String reqID = (String) msgcts
+                               .getProperty(AbstractContext.REQUESTER_ID);
+               Store store = StorageFactory.getInstance().getStore();
+               ATParticipantContext participantContext = 
(ATParticipantContext) store
+                               .get(reqID);
+               CoordinationContext coordinationContext = participantContext
+                               .getCoordinationContext();
+
+               ATParticipantContext participantContext2 = new 
ATParticipantContext();
+               participantContext2.setCoordinationContext(coordinationContext);
+               KandulaResource resource1 = new CommitTestResource();
+               participantContext2.setResource(resource1);
+               store.put(participantContext2.getID(), participantContext2);
+               ParticipantUtility.registerParticipant(participantContext2);
+
+               ATParticipantContext participantContext1 = new 
ATParticipantContext();
+               participantContext1.setCoordinationContext(coordinationContext);
+               KandulaResource resource = new VolatileReadOnlyResource();
+               participantContext1.setResource(resource);
+               store.put(participantContext1.getID(), participantContext1);
+               ParticipantUtility.registerParticipant(participantContext1);
+
+               CoordinatorPortTypeRawXMLStub stub;
+               try {
+                       stub = new 
CoordinatorPortTypeRawXMLStub(participantContext1
+                                       .getCoordinationEPR());
+                       stub.abortedOperation();
+               } catch (AbstractKandulaException e) {
+                       throw new AxisFault(e);
+               }
+
+               return element;
+       }
+}
\ No newline at end of file

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/context/ActivityContextTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/context/ActivityContextTest.java?rev=424679&r1=424678&r2=424679&view=diff
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/context/ActivityContextTest.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/context/ActivityContextTest.java
 Sat Jul 22 22:49:39 2006
@@ -1,50 +1,50 @@
-/*
- * Copyright  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.
- *
- */
-package org.apache.kandula.context;
-
-import junit.framework.TestCase;
-
-/**
- * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
- */
-public class ActivityContextTest extends TestCase {
-
-       public void testGetActivityID() {
-               // TODO Implement getActivityID().
-       }
-
-       public void testAddParticipant() {
-               // TODO Implement addParticipant().
-       }
-
-       public void testGetStatus() {
-               // TODO Implement getStatus().
-       }
-
-       public void testSetStatus() {
-               // TODO Implement setStatus().
-       }
-
-       public void testLock() {
-               // TODO Implement lock().
-       }
-
-       public void testUnlock() {
-               // TODO Implement unlock().
-       }
-
-}
\ No newline at end of file
+/*
+ * Copyright  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.
+ *
+ */
+package org.apache.kandula.context;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class ActivityContextTest extends TestCase {
+
+       public void testGetActivityID() {
+               // TODO Implement getActivityID().
+       }
+
+       public void testAddParticipant() {
+               // TODO Implement addParticipant().
+       }
+
+       public void testGetStatus() {
+               // TODO Implement getStatus().
+       }
+
+       public void testSetStatus() {
+               // TODO Implement setStatus().
+       }
+
+       public void testLock() {
+               // TODO Implement lock().
+       }
+
+       public void testUnlock() {
+               // TODO Implement unlock().
+       }
+
+}

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/CoordinatorImplTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/CoordinatorImplTest.java?rev=424679&r1=424678&r2=424679&view=diff
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/CoordinatorImplTest.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/CoordinatorImplTest.java
 Sat Jul 22 22:49:39 2006
@@ -1,89 +1,89 @@
-/*
- * Copyright  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.
- *
- */
-package org.apache.kandula.coordinator;
-
-import junit.framework.TestCase;
-
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.kandula.Constants;
-import org.apache.kandula.Status;
-import org.apache.kandula.context.AbstractContext;
-import org.apache.kandula.context.CoordinationContext;
-import org.apache.kandula.context.impl.ATActivityContext;
-import org.apache.kandula.faults.AbstractKandulaException;
-
-/**
- * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
- */
-public class CoordinatorImplTest extends TestCase {
-
-       /*
-        * @see TestCase#setUp()
-        */
-       protected void setUp() throws Exception {
-               super.setUp();
-       }
-
-       /*
-        * @see TestCase#tearDown()
-        */
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-       /*
-        * Class under test for ActivityContext 
createCoordinationContext(String,
-        * long)
-        */
-       public void testCreateCoordinationContextStringlong()
-                       throws AbstractKandulaException {
-               Coordinator coordinator = new Coordinator();
-               AbstractContext context = coordinator.createCoordinationContext(
-                               Constants.WS_AT, 3000);
-               assertTrue(ATActivityContext.class.isInstance(context));
-               assertNotNull(context.getCoordinationContext());
-               assertTrue(context.getStatus() == 
Status.CoordinatorStatus.STATUS_ACTIVE);
-       }
-
-       /*
-        * Class under test for ActivityContext
-        * createCoordinationContext(CoordinationContext)
-        */
-       public void testCreateCoordinationContextCoordinationContext()
-                       throws AbstractKandulaException {
-               Coordinator coordinator = new Coordinator();
-               CoordinationContext coorContext = CoordinationContext.Factory
-                               .newContext("uuid:29919219jdk02102021", 
Constants.WS_AT,
-                                               new EndpointReference(""));
-               coorContext.setExpires(3000);
-               // coorContext.setRegistrationService()
-               AbstractContext context = coordinator
-                               .createCoordinationContext(coorContext);
-               assertTrue(ATActivityContext.class.isInstance(context));
-               assertNotNull(context.getCoordinationContext());
-               assertTrue(context.getStatus() == 
Status.CoordinatorStatus.STATUS_ACTIVE);
-               
assertEquals(context.getCoordinationContext().getCoordinationType(),
-                               coorContext.getCoordinationType());
-               assertEquals(context.getCoordinationContext().getActivityID(),
-                               coorContext.getActivityID());
-       }
-
-       public void testRegisterParticipant() {
-               // TODO Implement registerParticipant().
-       }
-
-}
\ No newline at end of file
+/*
+ * Copyright  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.
+ *
+ */
+package org.apache.kandula.coordinator;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.kandula.Constants;
+import org.apache.kandula.Status;
+import org.apache.kandula.context.AbstractContext;
+import org.apache.kandula.context.CoordinationContext;
+import org.apache.kandula.context.impl.ATActivityContext;
+import org.apache.kandula.faults.AbstractKandulaException;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class CoordinatorImplTest extends TestCase {
+
+       /*
+        * @see TestCase#setUp()
+        */
+       protected void setUp() throws Exception {
+               super.setUp();
+       }
+
+       /*
+        * @see TestCase#tearDown()
+        */
+       protected void tearDown() throws Exception {
+               super.tearDown();
+       }
+
+       /*
+        * Class under test for ActivityContext 
createCoordinationContext(String,
+        * long)
+        */
+       public void testCreateCoordinationContextStringlong()
+                       throws AbstractKandulaException {
+               Coordinator coordinator = new Coordinator();
+               AbstractContext context = coordinator.createCoordinationContext(
+                               Constants.WS_AT, 3000);
+               assertTrue(ATActivityContext.class.isInstance(context));
+               assertNotNull(context.getCoordinationContext());
+               assertTrue(context.getStatus() == 
Status.CoordinatorStatus.STATUS_ACTIVE);
+       }
+
+       /*
+        * Class under test for ActivityContext
+        * createCoordinationContext(CoordinationContext)
+        */
+       public void testCreateCoordinationContextCoordinationContext()
+                       throws AbstractKandulaException {
+               Coordinator coordinator = new Coordinator();
+               CoordinationContext coorContext = CoordinationContext.Factory
+                               .newContext("uuid:29919219jdk02102021", 
Constants.WS_AT,
+                                               new EndpointReference(""));
+               coorContext.setExpires(3000);
+               // coorContext.setRegistrationService()
+               AbstractContext context = coordinator
+                               .createCoordinationContext(coorContext);
+               assertTrue(ATActivityContext.class.isInstance(context));
+               assertNotNull(context.getCoordinationContext());
+               assertTrue(context.getStatus() == 
Status.CoordinatorStatus.STATUS_ACTIVE);
+               
assertEquals(context.getCoordinationContext().getCoordinationType(),
+                               coorContext.getCoordinationType());
+               assertEquals(context.getCoordinationContext().getActivityID(),
+                               coorContext.getActivityID());
+       }
+
+       public void testRegisterParticipant() {
+               // TODO Implement registerParticipant().
+       }
+
+}

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/at/ATCoordinatorTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/at/ATCoordinatorTest.java?rev=424679&r1=424678&r2=424679&view=diff
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/at/ATCoordinatorTest.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/coordinator/at/ATCoordinatorTest.java
 Sat Jul 22 22:49:39 2006
@@ -1,50 +1,50 @@
-/*
- * Copyright  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.
- *
- */
-package org.apache.kandula.coordinator.at;
-
-import junit.framework.TestCase;
-
-/**
- * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
- */
-public class ATCoordinatorTest extends TestCase {
-
-       /*
-        * @see TestCase#setUp()
-        */
-       protected void setUp() throws Exception {
-               super.setUp();
-       }
-
-       /**
-        * Constructor for ATCoordinatorTest.
-        * 
-        * @param arg0
-        */
-       public ATCoordinatorTest(String arg0) {
-               super(arg0);
-       }
-
-       public void testCommitOperation() {
-               // TODO Implement commitOperation().
-       }
-
-       public void testRollbackOperation() {
-               // TODO Implement rollbackOperation().
-       }
-
-}
\ No newline at end of file
+/*
+ * Copyright  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.
+ *
+ */
+package org.apache.kandula.coordinator.at;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
+ */
+public class ATCoordinatorTest extends TestCase {
+
+       /*
+        * @see TestCase#setUp()
+        */
+       protected void setUp() throws Exception {
+               super.setUp();
+       }
+
+       /**
+        * Constructor for ATCoordinatorTest.
+        * 
+        * @param arg0
+        */
+       public ATCoordinatorTest(String arg0) {
+               super(arg0);
+       }
+
+       public void testCommitOperation() {
+               // TODO Implement commitOperation().
+       }
+
+       public void testRollbackOperation() {
+               // TODO Implement rollbackOperation().
+       }
+
+}

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java?rev=424679&view=auto
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
 Sat Jul 22 22:49:39 2006
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2004,2005 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.
+ */
+
+package org.apache.kandula.integration;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thilina Gunarathne </a>
+ */
+
+import interop.TestServiceStub;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.addressing.EndpointReference;
+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 {
+
+       private String repository = "C:/Program Files/Apache Software 
Foundation/Tomcat 5.0/webapps/axis2/WEB-INF";
+
+       private KandulaDemoServiceStub stub;
+
+       private SimpleHTTPServer server;
+
+       public CompletionCommitTest() throws Exception {
+               super(CompletionCommitTest.class.getName());
+               stub = new KandulaDemoServiceStub(
+                               "target/initiator-repository",
+                               new EndpointReference(
+                                               
"http://localhost:8082/axis2/services/TestService";));
+       }
+
+       public CompletionCommitTest(String testName) throws Exception {
+               super(testName);
+               stub = new KandulaDemoServiceStub(
+                               "target/initiator-repository",
+                               new EndpointReference(
+                                               
"http://localhost:8082/axis2/services/TestService";));
+       }
+
+       protected void setUp() throws Exception {
+               File file = new File(repository);
+               File configFile = new File(repository + "/conf/axis2.xml");
+               if (!file.exists()) {
+                       throw new Exception("repository directory "
+                                       + file.getAbsolutePath() + " does not 
exists");
+               }
+               ConfigurationContext er = ConfigurationContextFactory
+                               .createConfigurationContextFromFileSystem(file
+                                               .getAbsolutePath(), 
configFile.getAbsolutePath());
+
+               server = new SimpleHTTPServer(er, 8081);
+
+               try {
+                       server.start();
+                       System.out.print("Server started on port " + 8081 + 
".....");
+               } finally {
+
+               }
+       }
+
+       protected void tearDown() throws Exception {
+               server.stop();
+       }
+
+       public void testEchoXMLASync() throws Exception {
+               TransactionManager tm = new TransactionManager(
+                               Constants.WS_AT,
+                               new EndpointReference(
+                                               
"http://localhost:8082/axis2/services/ActivationCoordinator";),
+                               "target/initiator-repository",
+                               "target/initiator-repository/axis2.xml");
+               tm.begin(false);
+                
+                stub.creditOperation();
+                tm.commit();
+               Thread.sleep(5000);
+               
+       }
+
+//     public void testEchoXMLSync() throws Exception {
+//             // TransactionManager tm = new TransactionManager(
+//             // Constants.WS_AT,
+//             // new EndpointReference(
+//             // 
"http://localhost:8082/axis2/services/ActivationCoordinator";));
+//             // tm.begin("target/initiator-repository",
+//             // "target/initiator-repository/axis2.xml", false);
+//             // try {
+//             // stub.creditOperation();
+//             // } catch (Exception e) {
+//             // tm.rollback();
+//             // }
+//             // tm.commit();
+//     }
+}
\ No newline at end of file

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java?rev=424679&r1=424678&r2=424679&view=diff
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
 Sat Jul 22 22:49:39 2006
@@ -31,6 +31,18 @@
        }
 
        public OMElement creditOperation(OMElement element) {
-               return null;
+               element.build();
+               element.detach();
+//             System.out.println("done com");
+               return element;
        }
+
+
+       public OMElement debitOperation(OMElement element) {
+               element.build();
+               element.detach();
+//             System.out.println("done com");
+               return element;
+       }
+
 }

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoServiceStub.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoServiceStub.java?rev=424679&r1=424678&r2=424679&view=diff
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoServiceStub.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoServiceStub.java
 Sat Jul 22 22:49:39 2006
@@ -19,6 +19,7 @@
 import java.io.IOException;
 
 import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
@@ -53,13 +54,7 @@
 
        private static org.apache.axis2.description.AxisOperation[] operations;
 
-
-       /**
-        * Constructor
-        */
-       public KandulaDemoServiceStub(String axis2Home,
-                       EndpointReference targetEndpoint) throws 
java.lang.Exception {
-               // creating the Service
+       {// creating the Service
                _service = new AxisService("KandulaDemoService");
 
                // creating the operations
@@ -70,6 +65,13 @@
                operationDesc.setName(new 
javax.xml.namespace.QName("creditOperation"));
                operations[0] = operationDesc;
                _service.addOperation(operationDesc);
+       }
+
+       /**
+        * Constructor
+        */
+       public KandulaDemoServiceStub(String axis2Home,
+                       EndpointReference targetEndpoint) throws 
java.lang.Exception {
                this.toEPR = targetEndpoint;
                // creating the configuration
                configurationContext = ConfigurationContextFactory
@@ -83,7 +85,7 @@
 
        }
 
-       public void creditOperation() throws IOException, AxisFault{
+       public void creditOperation() throws IOException, AxisFault {
 
                Options options = new Options();
                MessageContext messageContext = new MessageContext();
@@ -106,11 +108,37 @@
 
        }
 
+       public void debitOperation() throws IOException, AxisFault {
+
+               Options options = new Options();
+               MessageContext messageContext = new MessageContext();
+               
messageContext.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
+                               AddressingConstants.Submission.WSA_NAMESPACE);
+               SOAPEnvelope env = createSOAPEnvelope();
+               messageContext.setEnvelope(env);
+
+               // _service.engageModule("addressing");
+
+               options.setAction("debitOperation");
+               options.setTo(this.toEPR);
+
+               // messageSender
+               // 
.setSenderTransport(org.apache.axis2.Constants.TRANSPORT_HTTP);
+               OperationClient client = 
operations[0].createClient(serviceContext,
+                               options);
+               client.addMessageContext(messageContext);
+               client.execute(true);
+       }
+
        private SOAPEnvelope createSOAPEnvelope() {
 
                SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
                SOAPEnvelope env = factory.getDefaultEnvelope();
+//             SOAPBody body = factory.createSOAPBody();
+//             env.addChild(body);
+               OMElement test = factory.createOMElement("test","urn://temp", 
"tmp");
+               env.getBody().addChild(test);
                return env;
        }
 
-}
\ No newline at end of file
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to