You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/11/20 17:26:28 UTC

svn commit: r719270 [1/4] - in /ode/branches/APACHE_ODE_1.X: axis2-war/src/test/java/org/apache/ode/axis2/correlation/ axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ axis2-war/src/test/resources/TestCorrelationJoin/ axis2-war/src/test/re...

Author: mriou
Date: Thu Nov 20 08:26:25 2008
New Revision: 719270

URL: http://svn.apache.org/viewvc?rev=719270&view=rev
Log:
ODE-410 Support multiple matching correlation sets on IMAs

Added:
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.bpel
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/deploy.xml
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/dummy-service.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest2.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest3.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.bpel
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/deploy.xml
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/dummy-service.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest2.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest3.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.bpel
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/deploy.xml
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/dummy-service.wsdl
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/testRequest.soap
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/testRequest2.soap
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/common/CorrelationKeySet.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/common/OptionalCorrelationKey.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/test/java/org/apache/ode/bpel/common/CorrelationKeySetTest.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/apache/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/apache/ode/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/apache/ode/bpel/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/apache/ode/bpel/o/
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/test/java/org/apache/ode/bpel/o/SerializerTest.java
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/deploy.xml
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/test1.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/test2.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/testCorrelation.bpel
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMulti/testCorrelation.wsdl
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/deploy.xml
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/test1.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/test2.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/test3.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/test4.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/testCorrelation.bpel
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiComplex/testCorrelation.wsdl
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/deploy.xml
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/test1.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/test2.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/test3.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/testCorrelation.bpel
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiJoin/testCorrelation.wsdl
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/deploy.xml
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/test1.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/test2.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/test3.properties
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/testCorrelation.bpel
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/TestCorrelationMultiNegative/testCorrelation.wsdl
Modified:
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/common/CorrelationKey.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/CorrelationMatchEvent.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/CorrelationNoMatchEvent.java
    ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
    ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
    ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
    ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/PickReceiveGenerator.java
    ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/ReplyGenerator.java
    ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/CorrelatorDAO.java
    ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageRouteDAO.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OEventHandler.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OInvoke.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OPartnerLink.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OPickReceive.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OReply.java
    ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/WorkEvent.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageRouteDaoImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/PICK.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/Selector.java
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/java/org/apache/ode/test/MessageRouting20Test.java
    ode/branches/APACHE_ODE_1.X/bpel-test/src/test/java/org/apache/ode/test/PubSubTest.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageRouteDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelatorMessage.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java
    ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java
    ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
    ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
    ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
    ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageRouteDAOImpl.java

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinHibTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinHibTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinHibTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,12 @@
+package org.apache.ode.axis2.correlation;
+
+import org.testng.annotations.BeforeMethod;
+
+public class CorrelationJoinHibTest extends CorrelationJoinTest {
+    @BeforeMethod
+    protected void setUp() throws Exception {
+    	System.setProperty("org.apache.ode.configDir", 
+    			getClass().getClassLoader().getResource("webapp").getFile() + "/WEB-INF/conf.hib");
+        super.setUp();
+    }
+}
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyHibTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyHibTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyHibTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,12 @@
+package org.apache.ode.axis2.correlation;
+
+import org.testng.annotations.BeforeMethod;
+
+public class CorrelationJoinLazyHibTest extends CorrelationJoinLazyTest {
+    @BeforeMethod
+    protected void setUp() throws Exception {
+    	System.setProperty("org.apache.ode.configDir", 
+    			getClass().getClassLoader().getResource("webapp").getFile() + "/WEB-INF/conf.hib");
+        super.setUp();
+    }
+}
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinLazyTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,60 @@
+package org.apache.ode.axis2.correlation;
+
+import org.apache.ode.axis2.Axis2TestBase;
+import org.apache.ode.axis2.DummyService;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.*;
+
+public class CorrelationJoinLazyTest extends Axis2TestBase {
+	/**
+	 * Tests a message being saved by no instance waiting for it. The saved message is picked up
+	 * when the third message arrives, and is consumed.
+	 * 
+	 * @throws Exception
+	 */
+	@Test 
+	public void testCorrelationJoin() throws Exception {
+        final String bundleName = "TestCorrelationJoinLazy";
+        
+        // deploy the required service
+        server.deployService(DummyService.class.getCanonicalName());
+        if (server.isDeployed(bundleName)) server.undeployProcess(bundleName);
+        server.deployProcess(bundleName);
+
+        new Thread() {
+        	public void run() {
+        		try {
+        			Thread.sleep(3000);
+        			server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                            bundleName, "testRequest2.soap");
+        		} catch( Exception e ) {
+        			fail(e.getMessage());
+        		}
+        	}
+        }.start();
+        
+        new Thread() {
+        	public void run() {
+        		try {
+        			Thread.sleep(6000);
+        			server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                            bundleName, "testRequest3.soap");
+        		} catch( Exception e ) {
+        			fail(e.getMessage());
+        		}
+        	}
+        }.start();
+        
+        try {
+            String response = server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                    bundleName, "testRequest.soap");
+            System.out.println("=>\n" + response);
+            assertTrue(response.contains(">1;3;2;<"));
+        } catch (Exception e) {
+        	fail(e.getMessage());
+        } finally {
+            server.undeployProcess(bundleName);
+        }
+    }
+}
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationJoinTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,59 @@
+package org.apache.ode.axis2.correlation;
+
+import org.apache.ode.axis2.Axis2TestBase;
+import org.apache.ode.axis2.DummyService;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.*;
+
+public class CorrelationJoinTest extends Axis2TestBase {
+	/**
+	 * Tests rendezvous
+	 * 
+	 * @throws Exception
+	 */
+	@Test 
+	public void testCorrelationJoin() throws Exception {
+        final String bundleName = "TestCorrelationJoin";
+        
+        // deploy the required service
+        server.deployService(DummyService.class.getCanonicalName());
+        if (server.isDeployed(bundleName)) server.undeployProcess(bundleName);
+        server.deployProcess(bundleName);
+
+        new Thread() {
+        	public void run() {
+        		try {
+        			Thread.sleep(3000);
+        			server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                            bundleName, "testRequest2.soap");
+        		} catch( Exception e ) {
+        			fail(e.getMessage());
+        		}
+        	}
+        }.start();
+        
+        new Thread() {
+        	public void run() {
+        		try {
+        			Thread.sleep(6000);
+        			server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                            bundleName, "testRequest3.soap");
+        		} catch( Exception e ) {
+        			fail(e.getMessage());
+        		}
+        	}
+        }.start();
+        
+        try {
+            String response = server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                    bundleName, "testRequest.soap");
+            System.out.println("=>\n" + response);
+            assertTrue(response.contains(">1;2;3;<"));
+        } catch (Exception e) {
+        	fail(e.getMessage());
+        } finally {
+            server.undeployProcess(bundleName);
+        }
+    }
+}
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiHibTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiHibTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiHibTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,12 @@
+package org.apache.ode.axis2.correlation;
+
+import org.testng.annotations.BeforeMethod;
+
+public class CorrelationMultiHibTest extends CorrelationMultiTest {
+    @BeforeMethod
+    protected void setUp() throws Exception {
+    	System.setProperty("org.apache.ode.configDir", 
+    			getClass().getClassLoader().getResource("webapp").getFile() + "/WEB-INF/conf.hib");
+        super.setUp();
+    }
+}

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiTest.java?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiTest.java Thu Nov 20 08:26:25 2008
@@ -0,0 +1,41 @@
+package org.apache.ode.axis2.correlation;
+
+import org.apache.ode.axis2.Axis2TestBase;
+import org.apache.ode.axis2.DummyService;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.*;
+
+public class CorrelationMultiTest extends Axis2TestBase {
+	@Test 
+	public void testCorrelationMulti() throws Exception {
+        final String bundleName = "TestCorrelationMulti";
+        
+        // deploy the required service
+        server.deployService(DummyService.class.getCanonicalName());
+        if (server.isDeployed(bundleName)) server.undeployProcess(bundleName);
+        server.deployProcess(bundleName);
+
+        new Thread() {
+        	public void run() {
+        		try {
+        			Thread.sleep(3000);
+        			server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                            bundleName, "testRequest2.soap");
+        		} catch( Exception e ) {
+        			fail(e.getMessage());
+        		}
+        	}
+        }.start();
+
+        try {
+            String response = server.sendRequestFile("http://localhost:8888/processes/correlationMultiTest",
+                    bundleName, "testRequest.soap");
+            assertTrue(response.contains(">1;2;<"));
+        } catch (Exception e) {
+        	fail(e.getMessage());
+        } finally {
+            server.undeployProcess(bundleName);
+        }
+    }
+}
\ No newline at end of file

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java?rev=719270&r1=719269&r2=719270&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java Thu Nov 20 08:26:25 2008
@@ -37,7 +37,11 @@
     
     protected void initTM() throws Exception {
     	if( txm != null ) {
-    		txm.commit();
+    		try {
+    			txm.commit();
+    		} catch( Exception e ) { 
+    			//ignore 
+    		}
     	}
         EmbeddedGeronimoFactory factory = new EmbeddedGeronimoFactory();
         txm = factory.getTransactionManager();
@@ -51,7 +55,11 @@
 
     protected void stopTM() throws Exception {
     	if( txm != null ) {
-	        txm.commit();
+    		try {
+    			txm.commit();
+    		} catch( Exception e ) { 
+    			//ignore 
+    		}
 	        txm = null;
     	}
     }

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.bpel?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.bpel Thu Nov 20 08:26:25 2008
@@ -0,0 +1,118 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+<process name="HeaderTest"
+    targetNamespace="http://ode/bpel/unit-test" 
+    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:tns="http://ode/bpel/unit-test"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:test="http://ode/bpel/unit-test.wsdl"
+    xmlns:dummy="http://axis2.ode.apache.org"
+    queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+	<import location="CorrelationMultiTest.wsdl" namespace="http://ode/bpel/unit-test.wsdl" importType="http://schemas.xmlsoap.org/wsdl/" />
+
+	<partnerLinks>
+      <partnerLink name="helloPartnerLink" 
+         partnerLinkType="test:HeaderTestPartnerLinkType" myRole="me" />
+      <partnerLink name="dummyPartnerLink"
+         partnerLinkType="test:DummyPartnerLinkType" partnerRole="you" />
+	</partnerLinks>
+    
+	<variables>
+     <variable name="myInVar" messageType="test:HeaderTestMessage"/>
+     <variable name="myOutVar" messageType="test:HeaderTestMessage"/>
+     <variable name="input" messageType="dummy:longOperationRequest"/>
+     <variable name="output" messageType="dummy:longOperationResponse"/>
+	</variables>
+	<correlationSets>
+		<correlationSet name="testCorr1" properties="test:testCorrelationID1"/>
+		<correlationSet name="testCorr2" properties="test:testCorrelationID2"/>
+		<correlationSet name="testCorr3" properties="test:testCorrelationID3"/>
+	</correlationSets>
+	<flow>
+		<links>
+			<link name="ready"/>
+			<link name="continue"/>
+		</links>
+   		<sequence>
+			<receive name="start1" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+	          operation="hello1" variable="myInVar" createInstance="yes">
+				<correlations>
+					<correlation set="testCorr1" initiate="join"/>
+				</correlations>
+			</receive>
+			<assign>
+	           <copy>
+	                <from>$myInVar.TestPart/requestText</from>
+	                <to>$myOutVar.TestPart</to>
+	           </copy>
+			</assign>
+			<sources>
+				<source linkName="ready"/>
+			</sources>
+		</sequence>
+		<sequence>
+			<targets>
+				<target linkName="ready"/>
+			</targets>
+			<receive name="start2" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+	          operation="hello2" variable="myInVar" createInstance="yes">
+				<correlations>
+					<correlation set="testCorr1" initiate="join"/>
+				</correlations>
+			</receive>
+			<assign>
+				<copy>
+					<from>
+						concat($myOutVar.TestPart, $myInVar.TestPart/requestText)
+					</from>
+					<to>$myOutVar.TestPart</to>
+				</copy>
+			</assign>
+			<sources>
+				<source linkName="continue"/>
+			</sources>
+		</sequence>
+		<sequence>
+			<targets>
+				<target linkName="continue"/>
+			</targets>
+			<receive name="receive3" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType" 
+				operation="continue" variable="myInVar">
+				<correlations>
+					<correlation set="testCorr1" initiate="join"/>
+					<correlation set="testCorr2" initiate="join"/>
+					<correlation set="testCorr3" initiate="join"/>
+				</correlations>
+			</receive>
+			<assign>
+				<copy>
+					<from>
+						concat($myOutVar.TestPart, $myInVar.TestPart/requestText)
+					</from>
+					<to>$myOutVar.TestPart</to>
+				</copy>
+			</assign>
+	
+			<reply name="end" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+	              operation="hello1" variable="myOutVar"/>
+		</sequence>
+   </flow>
+</process>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl Thu Nov 20 08:26:25 2008
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<wsdl:definitions
+        targetNamespace="http://ode/bpel/unit-test.wsdl"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:tns="http://ode/bpel/unit-test.wsdl"
+        xmlns:typens="http://ode/bpel/unit-test/testCorrelation.wsdl.types"
+        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns:dummy="http://axis2.ode.apache.org"
+        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+        xmlns:prop="http://docs.oasis-open.org/wsbpel/2.0/varprop">
+
+    <wsdl:import namespace="http://axis2.ode.apache.org" location="dummy-service.wsdl"/>
+
+    <wsdl:types>
+        <xsd:schema
+                targetNamespace="http://ode/bpel/unit-test/testCorrelation.wsdl.types"
+                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+            <xsd:complexType name="testMessage">
+                <xsd:sequence>
+                    <xsd:element name="correlationID1" type="xsd:string"/>
+                    <xsd:element name="correlationID2" type="xsd:string"/>
+                    <xsd:element name="correlationID3" type="xsd:string"/>
+                    <xsd:element name="requestText" type="xsd:string"/>
+                </xsd:sequence>
+            </xsd:complexType>
+        </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:message name="HeaderTestMessage">
+        <wsdl:part name="TestPart" type="typens:testMessage"/>
+    </wsdl:message>
+
+    <wsdl:portType name="HeaderTestPortType">
+        <wsdl:operation name="hello1">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+            <wsdl:output message="tns:HeaderTestMessage" name="TestOut"/>
+        </wsdl:operation>
+        <wsdl:operation name="hello2">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+        </wsdl:operation>
+        <wsdl:operation name="continue">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="HeaderTestSoapBinding" type="tns:HeaderTestPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="hello1">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="hello2">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="continue">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="HeaderTestService">
+        <wsdl:port name="HeaderTestPort" binding="tns:HeaderTestSoapBinding">
+            <soap:address location="http://localhost:8888/ode/processes/correlationMultiTest"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <plnk:partnerLinkType name="HeaderTestPartnerLinkType">
+        <plnk:role name="me" portType="tns:HeaderTestPortType"/>
+        <plnk:role name="you" portType="tns:HeaderTestPortType"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="DummyPartnerLinkType">
+        <plnk:role name="you" portType="dummy:DummyServicePortType"/>
+    </plnk:partnerLinkType>
+
+    <prop:property name="testCorrelationID1" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID1" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+			correlationID1
+        </prop:query>
+    </prop:propertyAlias>
+
+    <prop:property name="testCorrelationID2" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID2" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+            correlationID2
+        </prop:query>
+    </prop:propertyAlias>
+
+    <prop:property name="testCorrelationID3" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID3" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+            correlationID3
+        </prop:query>
+    </prop:propertyAlias>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/deploy.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/deploy.xml?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/deploy.xml (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/deploy.xml Thu Nov 20 08:26:25 2008
@@ -0,0 +1,33 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+	xmlns:pns="http://ode/bpel/unit-test" 
+	xmlns:wns="http://ode/bpel/unit-test.wsdl" xmlns:dns="http://axis2.ode.apache.org">
+
+
+	<process name="pns:HeaderTest">
+		<active>true</active>
+		<provide partnerLink="helloPartnerLink">
+			<service name="wns:HeaderTestService" port="HeaderTestPort"/>
+		</provide>
+        <invoke partnerLink="dummyPartnerLink">
+            <service name="dns:DummyService" port="DummyServiceSOAP11port_http"/>
+        </invoke>
+    </process>
+</deploy>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/dummy-service.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/dummy-service.wsdl?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/dummy-service.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/dummy-service.wsdl Thu Nov 20 08:26:25 2008
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+                  xmlns:ns0="http://axis2.ode.apache.org/xsd"
+                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
+                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+                  xmlns:ns1="http://axis2.ode.apache.org"
+                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+                  targetNamespace="http://axis2.ode.apache.org">
+   <wsdl:types>
+      <xs:schema xmlns:ns="http://axis2.ode.apache.org" attributeFormDefault="qualified"
+                 elementFormDefault="unqualified" targetNamespace="http://axis2.ode.apache.org">
+
+         <xs:element name="DummyException">
+            <xs:complexType>
+               <xs:sequence>
+                   <xs:element minOccurs="0" name="reason" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="faultTest">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="faultTestResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="hello">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="helloResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="longOperation">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="longOperationResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+      </xs:schema>
+   </wsdl:types>
+   <wsdl:message name="faultTestRequest">
+      <wsdl:part name="parameters" element="ns1:faultTest"/>
+   </wsdl:message>
+   <wsdl:message name="faultTestResponse">
+      <wsdl:part name="parameters" element="ns1:faultTestResponse"/>
+   </wsdl:message>
+   <wsdl:message name="DummyExceptionType">
+      <wsdl:part name="parameters" element="ns1:DummyException"/>
+   </wsdl:message>
+   <wsdl:message name="helloRequest">
+      <wsdl:part name="parameters" element="ns1:hello"/>
+   </wsdl:message>
+   <wsdl:message name="helloResponse">
+      <wsdl:part name="parameters" element="ns1:helloResponse"/>
+   </wsdl:message>
+   <wsdl:message name="longOperationRequest">
+      <wsdl:part name="parameters" element="ns1:longOperation"/>
+   </wsdl:message>
+   <wsdl:message name="longOperationResponse">
+      <wsdl:part name="parameters" element="ns1:longOperationResponse"/>
+   </wsdl:message>
+   <wsdl:portType name="DummyServicePortType">
+      <wsdl:operation name="faultTest">
+         <wsdl:input message="ns1:faultTestRequest" wsaw:Action="urn:faultTest"/>
+         <wsdl:output message="ns1:faultTestResponse" wsaw:Action="urn:faultTestResponse"/>
+         <wsdl:fault message="ns1:DummyExceptionType" name="DummyException"
+                     wsaw:Action="urn:faultTestDummyException"/>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <wsdl:input message="ns1:helloRequest" wsaw:Action="urn:hello"/>
+         <wsdl:output message="ns1:helloResponse" wsaw:Action="urn:helloResponse"/>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <wsdl:input message="ns1:longOperationRequest" wsaw:Action="urn:longOperation"/>
+         <wsdl:output message="ns1:longOperationResponse" wsaw:Action="urn:longOperationResponse"/>
+      </wsdl:operation>
+   </wsdl:portType>
+   <wsdl:binding name="DummyServiceSOAP11Binding" type="ns1:DummyServicePortType">
+      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+      <wsdl:operation name="faultTest">
+         <soap:operation soapAction="urn:faultTest" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+         <wsdl:fault name="DummyException">
+            <soap:fault use="literal" name="DummyException"/>
+         </wsdl:fault>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <soap:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <soap:operation soapAction="urn:longOperation" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:binding name="DummyServiceSOAP12Binding" type="ns1:DummyServicePortType">
+      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+      <wsdl:operation name="faultTest">
+         <soap12:operation soapAction="urn:faultTest" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+         <wsdl:fault name="DummyException">
+            <soap12:fault use="literal" name="DummyException"/>
+         </wsdl:fault>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <soap12:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <soap12:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:binding name="DummyServiceHttpBinding" type="ns1:DummyServicePortType">
+      <http:binding verb="POST"/>
+      <wsdl:operation name="faultTest">
+         <http:operation location="DummyService/faultTest"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="faultTest"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="faultTest"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <http:operation location="DummyService/hello"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <http:operation location="DummyService/hello"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:service name="DummyService">
+      <wsdl:port name="DummyServiceSOAP11port_http" binding="ns1:DummyServiceSOAP11Binding">
+         <soap:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+      <wsdl:port name="DummyServiceSOAP12port_http" binding="ns1:DummyServiceSOAP12Binding">
+         <soap12:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+      <wsdl:port name="DummyServiceHttpport" binding="ns1:DummyServiceHttpBinding">
+         <http:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+   </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:hello1 xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>1;</requestText></TestPart>
+        </ns1:hello1>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest2.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest2.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest2.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest2.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:hello2 xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>2;</requestText></TestPart>
+        </ns1:hello2>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest3.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest3.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest3.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoin/testRequest3.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:continue xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>3;</requestText></TestPart>
+        </ns1:continue>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.bpel?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.bpel Thu Nov 20 08:26:25 2008
@@ -0,0 +1,97 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+<process name="HeaderTest"
+    targetNamespace="http://ode/bpel/unit-test" 
+    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:tns="http://ode/bpel/unit-test"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:test="http://ode/bpel/unit-test.wsdl"
+    xmlns:dummy="http://axis2.ode.apache.org"
+    queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+	<import location="CorrelationMultiTest.wsdl" namespace="http://ode/bpel/unit-test.wsdl" importType="http://schemas.xmlsoap.org/wsdl/" />
+
+	<partnerLinks>
+      <partnerLink name="helloPartnerLink" 
+         partnerLinkType="test:HeaderTestPartnerLinkType" myRole="me" />
+      <partnerLink name="dummyPartnerLink"
+         partnerLinkType="test:DummyPartnerLinkType" partnerRole="you" />
+	</partnerLinks>
+    
+	<variables>
+     <variable name="myInVar" messageType="test:HeaderTestMessage"/>
+     <variable name="myOutVar" messageType="test:HeaderTestMessage"/>
+     <variable name="input" messageType="dummy:longOperationRequest"/>
+     <variable name="output" messageType="dummy:longOperationResponse"/>
+	</variables>
+	<correlationSets>
+		<correlationSet name="testCorr1" properties="test:testCorrelationID1"/>
+		<correlationSet name="testCorr2" properties="test:testCorrelationID2"/>
+		<correlationSet name="testCorr3" properties="test:testCorrelationID3"/>
+	</correlationSets>
+	<sequence>
+		<receive name="start1" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+          operation="hello1" variable="myInVar" createInstance="yes">
+			<correlations>
+				<correlation set="testCorr1" initiate="join"/>
+			</correlations>
+		</receive>
+		<assign>
+           <copy>
+                <from>$myInVar.TestPart/requestText</from>
+                <to>$myOutVar.TestPart</to>
+           </copy>
+		</assign>
+		<receive name="receive3" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType" 
+			operation="continue" variable="myInVar">
+			<correlations>
+				<correlation set="testCorr1" initiate="join"/>
+				<correlation set="testCorr2" initiate="join"/>
+				<correlation set="testCorr3" initiate="join"/>
+			</correlations>
+		</receive>
+		<assign>
+			<copy>
+				<from>
+					concat($myOutVar.TestPart, $myInVar.TestPart/requestText)
+				</from>
+				<to>$myOutVar.TestPart</to>
+			</copy>
+		</assign>
+		<receive name="start2" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+          operation="hello2" variable="myInVar">
+			<correlations>
+				<correlation set="testCorr1" initiate="join"/>
+				<correlation set="testCorr2" initiate="join"/>
+			</correlations>
+		</receive>
+		<assign>
+			<copy>
+				<from>
+					concat($myOutVar.TestPart, $myInVar.TestPart/requestText)
+				</from>
+				<to>$myOutVar.TestPart</to>
+			</copy>
+		</assign>
+
+		<reply name="end" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+              operation="hello1" variable="myOutVar"/>
+	</sequence>
+</process>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.wsdl?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/CorrelationMultiTest.wsdl Thu Nov 20 08:26:25 2008
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<wsdl:definitions
+        targetNamespace="http://ode/bpel/unit-test.wsdl"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:tns="http://ode/bpel/unit-test.wsdl"
+        xmlns:typens="http://ode/bpel/unit-test/testCorrelation.wsdl.types"
+        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns:dummy="http://axis2.ode.apache.org"
+        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+        xmlns:prop="http://docs.oasis-open.org/wsbpel/2.0/varprop">
+
+    <wsdl:import namespace="http://axis2.ode.apache.org" location="dummy-service.wsdl"/>
+
+    <wsdl:types>
+        <xsd:schema
+                targetNamespace="http://ode/bpel/unit-test/testCorrelation.wsdl.types"
+                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+            <xsd:complexType name="testMessage">
+                <xsd:sequence>
+                    <xsd:element name="correlationID1" type="xsd:string"/>
+                    <xsd:element name="correlationID2" type="xsd:string"/>
+                    <xsd:element name="correlationID3" type="xsd:string"/>
+                    <xsd:element name="requestText" type="xsd:string"/>
+                </xsd:sequence>
+            </xsd:complexType>
+        </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:message name="HeaderTestMessage">
+        <wsdl:part name="TestPart" type="typens:testMessage"/>
+    </wsdl:message>
+
+    <wsdl:portType name="HeaderTestPortType">
+        <wsdl:operation name="hello1">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+            <wsdl:output message="tns:HeaderTestMessage" name="TestOut"/>
+        </wsdl:operation>
+        <wsdl:operation name="hello2">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+        </wsdl:operation>
+        <wsdl:operation name="continue">
+            <wsdl:input message="tns:HeaderTestMessage" name="TestIn"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="HeaderTestSoapBinding" type="tns:HeaderTestPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="hello1">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="hello2">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="continue">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="HeaderTestService">
+        <wsdl:port name="HeaderTestPort" binding="tns:HeaderTestSoapBinding">
+            <soap:address location="http://localhost:8888/ode/processes/correlationMultiTest"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <plnk:partnerLinkType name="HeaderTestPartnerLinkType">
+        <plnk:role name="me" portType="tns:HeaderTestPortType"/>
+        <plnk:role name="you" portType="tns:HeaderTestPortType"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="DummyPartnerLinkType">
+        <plnk:role name="you" portType="dummy:DummyServicePortType"/>
+    </plnk:partnerLinkType>
+
+    <prop:property name="testCorrelationID1" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID1" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+            correlationID1
+        </prop:query>
+    </prop:propertyAlias>
+
+    <prop:property name="testCorrelationID2" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID2" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+            correlationID2
+        </prop:query>
+    </prop:propertyAlias>
+
+    <prop:property name="testCorrelationID3" type="xsd:string"/>
+    <prop:propertyAlias propertyName="tns:testCorrelationID3" messageType="tns:HeaderTestMessage" part="TestPart">
+        <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+            correlationID3
+        </prop:query>
+    </prop:propertyAlias>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/deploy.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/deploy.xml?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/deploy.xml (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/deploy.xml Thu Nov 20 08:26:25 2008
@@ -0,0 +1,33 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+	xmlns:pns="http://ode/bpel/unit-test" 
+	xmlns:wns="http://ode/bpel/unit-test.wsdl" xmlns:dns="http://axis2.ode.apache.org">
+
+
+	<process name="pns:HeaderTest">
+		<active>true</active>
+		<provide partnerLink="helloPartnerLink">
+			<service name="wns:HeaderTestService" port="HeaderTestPort"/>
+		</provide>
+        <invoke partnerLink="dummyPartnerLink">
+            <service name="dns:DummyService" port="DummyServiceSOAP11port_http"/>
+        </invoke>
+    </process>
+</deploy>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/dummy-service.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/dummy-service.wsdl?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/dummy-service.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/dummy-service.wsdl Thu Nov 20 08:26:25 2008
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+                  xmlns:ns0="http://axis2.ode.apache.org/xsd"
+                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
+                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+                  xmlns:ns1="http://axis2.ode.apache.org"
+                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+                  targetNamespace="http://axis2.ode.apache.org">
+   <wsdl:types>
+      <xs:schema xmlns:ns="http://axis2.ode.apache.org" attributeFormDefault="qualified"
+                 elementFormDefault="unqualified" targetNamespace="http://axis2.ode.apache.org">
+
+         <xs:element name="DummyException">
+            <xs:complexType>
+               <xs:sequence>
+                   <xs:element minOccurs="0" name="reason" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="faultTest">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="faultTestResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="hello">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="helloResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="longOperation">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+         <xs:element name="longOperationResponse">
+            <xs:complexType>
+               <xs:sequence>
+                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+               </xs:sequence>
+            </xs:complexType>
+         </xs:element>
+      </xs:schema>
+   </wsdl:types>
+   <wsdl:message name="faultTestRequest">
+      <wsdl:part name="parameters" element="ns1:faultTest"/>
+   </wsdl:message>
+   <wsdl:message name="faultTestResponse">
+      <wsdl:part name="parameters" element="ns1:faultTestResponse"/>
+   </wsdl:message>
+   <wsdl:message name="DummyExceptionType">
+      <wsdl:part name="parameters" element="ns1:DummyException"/>
+   </wsdl:message>
+   <wsdl:message name="helloRequest">
+      <wsdl:part name="parameters" element="ns1:hello"/>
+   </wsdl:message>
+   <wsdl:message name="helloResponse">
+      <wsdl:part name="parameters" element="ns1:helloResponse"/>
+   </wsdl:message>
+   <wsdl:message name="longOperationRequest">
+      <wsdl:part name="parameters" element="ns1:longOperation"/>
+   </wsdl:message>
+   <wsdl:message name="longOperationResponse">
+      <wsdl:part name="parameters" element="ns1:longOperationResponse"/>
+   </wsdl:message>
+   <wsdl:portType name="DummyServicePortType">
+      <wsdl:operation name="faultTest">
+         <wsdl:input message="ns1:faultTestRequest" wsaw:Action="urn:faultTest"/>
+         <wsdl:output message="ns1:faultTestResponse" wsaw:Action="urn:faultTestResponse"/>
+         <wsdl:fault message="ns1:DummyExceptionType" name="DummyException"
+                     wsaw:Action="urn:faultTestDummyException"/>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <wsdl:input message="ns1:helloRequest" wsaw:Action="urn:hello"/>
+         <wsdl:output message="ns1:helloResponse" wsaw:Action="urn:helloResponse"/>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <wsdl:input message="ns1:longOperationRequest" wsaw:Action="urn:longOperation"/>
+         <wsdl:output message="ns1:longOperationResponse" wsaw:Action="urn:longOperationResponse"/>
+      </wsdl:operation>
+   </wsdl:portType>
+   <wsdl:binding name="DummyServiceSOAP11Binding" type="ns1:DummyServicePortType">
+      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+      <wsdl:operation name="faultTest">
+         <soap:operation soapAction="urn:faultTest" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+         <wsdl:fault name="DummyException">
+            <soap:fault use="literal" name="DummyException"/>
+         </wsdl:fault>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <soap:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <soap:operation soapAction="urn:longOperation" style="document"/>
+         <wsdl:input>
+            <soap:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:binding name="DummyServiceSOAP12Binding" type="ns1:DummyServicePortType">
+      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+      <wsdl:operation name="faultTest">
+         <soap12:operation soapAction="urn:faultTest" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+         <wsdl:fault name="DummyException">
+            <soap12:fault use="literal" name="DummyException"/>
+         </wsdl:fault>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <soap12:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <soap12:operation soapAction="urn:hello" style="document"/>
+         <wsdl:input>
+            <soap12:body use="literal"/>
+         </wsdl:input>
+         <wsdl:output>
+            <soap12:body use="literal"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:binding name="DummyServiceHttpBinding" type="ns1:DummyServicePortType">
+      <http:binding verb="POST"/>
+      <wsdl:operation name="faultTest">
+         <http:operation location="DummyService/faultTest"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="faultTest"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="faultTest"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="hello">
+         <http:operation location="DummyService/hello"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:output>
+      </wsdl:operation>
+      <wsdl:operation name="longOperation">
+         <http:operation location="DummyService/hello"/>
+         <wsdl:input>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:input>
+         <wsdl:output>
+            <mime:content type="text/xml" part="hello"/>
+         </wsdl:output>
+      </wsdl:operation>
+   </wsdl:binding>
+   <wsdl:service name="DummyService">
+      <wsdl:port name="DummyServiceSOAP11port_http" binding="ns1:DummyServiceSOAP11Binding">
+         <soap:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+      <wsdl:port name="DummyServiceSOAP12port_http" binding="ns1:DummyServiceSOAP12Binding">
+         <soap12:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+      <wsdl:port name="DummyServiceHttpport" binding="ns1:DummyServiceHttpBinding">
+         <http:address location="http://localhost:8888/processes/DummyService"/>
+      </wsdl:port>
+   </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:hello1 xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>1;</requestText></TestPart>
+        </ns1:hello1>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest2.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest2.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest2.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest2.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:hello2 xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>2;</requestText></TestPart>
+        </ns1:hello2>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest3.soap
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest3.soap?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest3.soap (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationJoinLazy/testRequest3.soap Thu Nov 20 08:26:25 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+    <SOAP-ENV:Header>
+        <myns:ConversationId xmlns:myns="http://my.company/super/protocol">ZZZXYZ</myns:ConversationId>
+    </SOAP-ENV:Header>
+    <!-- test soap message -->
+    <SOAP-ENV:Body>
+        <ns1:continue xmlns:ns1="http://ode/bpel/unit-test.wsdl">
+            <TestPart xmlns=""><correlationID1>CORR1</correlationID1><correlationID2>CORR2</correlationID2><correlationID3>CORR3</correlationID3><requestText>3;</requestText></TestPart>
+        </ns1:continue>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.bpel?rev=719270&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestCorrelationMulti/CorrelationMultiTest.bpel Thu Nov 20 08:26:25 2008
@@ -0,0 +1,89 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+  -->
+<process name="HeaderTest"
+    targetNamespace="http://ode/bpel/unit-test" 
+    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:tns="http://ode/bpel/unit-test"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:test="http://ode/bpel/unit-test.wsdl"
+    xmlns:dummy="http://axis2.ode.apache.org"
+    queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+  <import location="CorrelationMultiTest.wsdl"
+     namespace="http://ode/bpel/unit-test.wsdl"
+     importType="http://schemas.xmlsoap.org/wsdl/" />
+
+   <partnerLinks>
+      <partnerLink name="helloPartnerLink" 
+         partnerLinkType="test:HeaderTestPartnerLinkType" myRole="me" />
+      <partnerLink name="dummyPartnerLink"
+         partnerLinkType="test:DummyPartnerLinkType" partnerRole="you" />
+   </partnerLinks>
+    
+   <variables>
+     <variable name="myInVar" messageType="test:HeaderTestMessage"/>
+     <variable name="myOutVar" messageType="test:HeaderTestMessage"/>
+     <variable name="input" messageType="dummy:longOperationRequest"/>
+     <variable name="output" messageType="dummy:longOperationResponse"/>
+   </variables>
+	<correlationSets>
+		<correlationSet name="testCorr1" properties="test:testCorrelationID1"/>
+		<correlationSet name="testCorr2" properties="test:testCorrelationID2"/>
+		<correlationSet name="testCorr3" properties="test:testCorrelationID3"/>
+		<correlationSet name="testCorr4" properties="test:testCorrelationID4"/>
+	</correlationSets>
+   <sequence>
+       <receive name="start" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+          operation="hello" variable="myInVar" createInstance="yes">
+			<correlations>
+				<correlation set="testCorr1" initiate="yes"/>
+				<correlation set="testCorr2" initiate="yes"/>
+			</correlations>
+	   </receive>
+
+       <assign>
+           <copy>
+                <from>$myInVar.TestPart/requestText</from>
+                <to>$myOutVar.TestPart</to>
+           </copy>
+       </assign>
+
+		<receive name="receive2" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType" 
+			operation="continue" variable="myInVar">
+			<correlations>
+				<correlation set="testCorr1" initiate="no"/>
+				<correlation set="testCorr2" initiate="no"/>
+				<correlation set="testCorr3" initiate="yes"/>
+				<correlation set="testCorr4" initiate="yes"/>
+			</correlations>
+		</receive>
+		<assign>
+			<copy>
+				<from>
+					concat($myOutVar.TestPart, $myInVar.TestPart/requestText)
+				</from>
+				<to>$myOutVar.TestPart</to>
+			</copy>
+		</assign>
+
+       <reply name="end" partnerLink="helloPartnerLink" portType="test:HeaderTestPortType"
+              operation="hello" variable="myOutVar"/>
+   </sequence>
+</process>