You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2016/01/28 16:40:45 UTC

ode git commit: ODE-974: Test case added

Repository: ode
Updated Branches:
  refs/heads/ode-1.3.x f5ef532c8 -> 85bb58585


ODE-974: Test case added


Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/85bb5858
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/85bb5858
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/85bb5858

Branch: refs/heads/ode-1.3.x
Commit: 85bb5858515b28d5d562ddd32b6db5de3086eed9
Parents: f5ef532
Author: sathwik <sa...@apache.org>
Authored: Thu Jan 28 21:10:25 2016 +0530
Committer: sathwik <sa...@apache.org>
Committed: Thu Jan 28 21:10:25 2016 +0530

----------------------------------------------------------------------
 .../CorrelationMultiScopeEarlyMessageTest.java  |  86 +++++++++
 .../1/TestCorrelationMultiScopeComplex.bpel     | 151 ++++++++++++++++
 ...stCorrelationMultiScopeComplexArtifacts.wsdl | 174 +++++++++++++++++++
 .../1/complete.soap                             |  29 ++++
 .../1/deploy.xml                                |  29 ++++
 .../1/initiate.soap                             |  29 ++++
 .../1/receive2.soap                             |  29 ++++
 .../1/receive3.soap                             |  29 ++++
 .../2/TestCorrelationMultiScopeComplex.bpel     | 151 ++++++++++++++++
 ...stCorrelationMultiScopeComplexArtifacts.wsdl | 174 +++++++++++++++++++
 .../2/complete.soap                             |  29 ++++
 .../2/deploy.xml                                |  29 ++++
 .../2/initiate.soap                             |  29 ++++
 .../2/receive2.soap                             |  29 ++++
 .../2/receive3.soap                             |  29 ++++
 15 files changed, 1026 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiScopeEarlyMessageTest.java
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiScopeEarlyMessageTest.java b/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiScopeEarlyMessageTest.java
new file mode 100644
index 0000000..0dc6339
--- /dev/null
+++ b/axis2-war/src/test/java/org/apache/ode/axis2/correlation/CorrelationMultiScopeEarlyMessageTest.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+package org.apache.ode.axis2.correlation;
+
+import static org.testng.AssertJUnit.assertTrue;
+
+import org.apache.ode.axis2.Axis2TestBase;
+import org.apache.ode.axis2.ODEConfigDirAware;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.Test;
+
+public class CorrelationMultiScopeEarlyMessageTest extends Axis2TestBase implements ODEConfigDirAware {
+    private static final Logger log = LoggerFactory.getLogger(CorrelationMultiScopeEarlyMessageTest.class);
+
+    @Test(dataProvider="configs")
+    public void testEarlyMessageRouting() throws Exception {
+        String bundleName = "TestCorrelationMultiScopeComplex";
+        String endpoint = "http://localhost:8888/ode/processes/TestCorrelationMultiScopeComplexService";
+
+        try{
+            if (server.isDeployed(bundleName+"/1")) 
+                server.undeployProcess(bundleName + "/1");
+            if (server.isDeployed(bundleName+"/2")) 
+                server.undeployProcess(bundleName + "/2");
+
+            //deploy version 1
+            server.deployProcess(bundleName + "/1");
+
+            //create an instance of version 1
+            String instance1Response = server.sendRequestFile(endpoint,bundleName + "/1", "initiate.soap");
+            log.info("response from instance 1 {}",instance1Response);
+            assertTrue(instance1Response.contains("iid"));
+
+            //deploy version 2
+            server.deployProcess(bundleName + "/2");
+
+            //create and instance of version 2
+            String instance2Response = server.sendRequestFile(endpoint,bundleName + "/2", "initiate.soap");
+            log.info("response from instance 2 {}",instance2Response);
+            assertTrue(instance2Response.contains("iid"));
+
+            //early message to instance of retired process version 1
+            server.sendRequestFile(endpoint,bundleName + "/1", "receive3.soap");
+            //early message to instance of active process version 2
+            server.sendRequestFile(endpoint,bundleName + "/2", "receive3.soap");
+
+            server.sendRequestFile(endpoint,bundleName + "/1", "receive2.soap");
+            server.sendRequestFile(endpoint,bundleName + "/2", "receive2.soap");
+
+            instance1Response = server.sendRequestFile(endpoint,bundleName + "/1", "complete.soap");
+            log.info("response from instance 1 {}",instance1Response);
+            assertTrue(instance1Response.contains("iid"));
+
+            instance2Response = server.sendRequestFile(endpoint,bundleName + "/2", "complete.soap");
+            log.info("response from instance 2 {}",instance2Response);
+            assertTrue(instance2Response.contains("iid"));
+        } finally {
+            if (server.isDeployed(bundleName+"/1")) 
+                server.undeployProcess(bundleName + "/1");
+            if (server.isDeployed(bundleName+"/2")) 
+                server.undeployProcess(bundleName + "/2");
+        }
+    }
+
+    public String getODEConfigDir() {
+        return HIB_H2_CONF_DIR;
+    }
+}

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplex.bpel
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplex.bpel b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplex.bpel
new file mode 100644
index 0000000..39cf400
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplex.bpel
@@ -0,0 +1,151 @@
+<!--
+  ~ 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.
+  -->
+<bpel:process name="TestCorrelationMultiScopeComplex"
+	targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+	suppressJoinFailure="yes"
+	xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+	xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+	xmlns:ns1="http://www.w3.org/2001/XMLSchema"
+	xmlns:ode="http://www.apache.org/ode/type/extension">
+
+	<!-- Import the client WSDL -->
+	<bpel:import location="TestCorrelationMultiScopeComplexArtifacts.wsdl"
+		namespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+		importType="http://schemas.xmlsoap.org/wsdl/" />
+
+	<!-- ================================================================= -->
+	<!-- PARTNERLINKS -->
+	<!-- List of services participating in this BPEL process -->
+	<!-- ================================================================= -->
+    <bpel:partnerLinks>
+        <bpel:partnerLink name="client" partnerLinkType="tns:client" myRole="myRole"></bpel:partnerLink>
+    </bpel:partnerLinks>
+    <!-- ================================================================= -->         
+    <!-- VARIABLES                                                         -->
+    <!-- List of messages and XML documents used within this BPEL process  -->
+    <!-- ================================================================= -->         
+
+    <!-- ================================================================= -->         
+    <!-- ORCHESTRATION LOGIC                                               -->
+    <!-- Set of activities coordinating the flow of messages across the    -->
+    <!-- services integrated within this business process                  -->
+    <!-- ================================================================= -->         
+
+        <bpel:scope name="ancestorScope">
+            <bpel:variables>
+                <bpel:variable name="initiateRequest" messageType="tns:initiateRequest"></bpel:variable>
+                <bpel:variable name="initiateResponse" messageType="tns:initiateResponse"></bpel:variable>
+            </bpel:variables>
+            <bpel:correlationSets>
+                <bpel:correlationSet name="CorrSet1" properties="tns:corrProperty1"></bpel:correlationSet>
+            </bpel:correlationSets>
+            <bpel:sequence name="ancestorSequence">
+	            <bpel:receive name="initiateRequest" partnerLink="client" operation="initiate" portType="tns:TestCorrelationMultiScopeComplexPort" variable="initiateRequest" createInstance="yes">
+	                <bpel:correlations>
+	                    <bpel:correlation initiate="yes" set="CorrSet1"></bpel:correlation>
+	                </bpel:correlations>
+	            </bpel:receive>
+            <bpel:assign validate="no" name="AssignPID">
+                <bpel:copy>
+                    <bpel:from><bpel:literal><tns:initiateResponse xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <iid>iid</iid>
+</tns:initiateResponse>
+</bpel:literal></bpel:from>
+                    <bpel:to variable="initiateResponse" part="parameters"></bpel:to>
+                </bpel:copy>
+                <bpel:copy>
+                    <bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+                        <![CDATA[$ode:pid]]>
+                    </bpel:from>
+                    <bpel:to part="parameters" variable="initiateResponse">
+                        <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[iid]]></bpel:query>
+                    </bpel:to>
+                </bpel:copy>
+            </bpel:assign>
+            <bpel:reply name="initiateReply" partnerLink="client" operation="initiate" portType="tns:TestCorrelationMultiScopeComplexPort" variable="initiateResponse"></bpel:reply>
+
+                <bpel:scope name="grandParentScope">
+                    <bpel:variables><bpel:variable name="receive2Request" messageType="tns:receive2Request"></bpel:variable></bpel:variables>
+                    <bpel:correlationSets>
+                        <bpel:correlationSet name="CorrSet2" properties="tns:corrProperty2"></bpel:correlationSet>
+                    </bpel:correlationSets>
+                    <bpel:sequence name="grandParentSequence">
+                        <bpel:receive name="receive2Request" partnerLink="client" operation="receive2" portType="tns:TestCorrelationMultiScopeComplexPort" variable="receive2Request">
+                        <bpel:correlations>
+                            <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                            <bpel:correlation initiate="yes" set="CorrSet2"></bpel:correlation>
+                        </bpel:correlations>
+                    </bpel:receive>
+
+                    <bpel:scope name="parentScope">
+                            <bpel:variables>
+                                <bpel:variable name="receive3Request" messageType="tns:receive3Request"></bpel:variable>
+                            </bpel:variables>
+                            <bpel:correlationSets>
+                                <bpel:correlationSet name="CorrSet3" properties="tns:corrProperty3"></bpel:correlationSet>
+                            </bpel:correlationSets>
+                            <bpel:sequence name="parentSequence">
+                                <bpel:receive name="receive3Request" partnerLink="client" operation="receive3" portType="tns:TestCorrelationMultiScopeComplexPort" variable="receive3Request">
+                                    <bpel:correlations>
+                                        <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                                        <bpel:correlation initiate="no" set="CorrSet2"></bpel:correlation>
+                                        <bpel:correlation initiate="yes" set="CorrSet3"></bpel:correlation>
+                                    </bpel:correlations>
+                                </bpel:receive>
+
+                                <bpel:scope name="childScope">
+                                    <bpel:variables><bpel:variable name="completeRequest" messageType="tns:completeRequest"></bpel:variable><bpel:variable name="completeResponse" messageType="tns:completeResponse">
+                                    </bpel:variable></bpel:variables>
+                                    <bpel:sequence name="childSequence">
+                                        <bpel:receive name="completeRequest" partnerLink="client" operation="complete" portType="tns:TestCorrelationMultiScopeComplexPort" variable="completeRequest">
+                                            <bpel:correlations>
+                                                <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                                                <bpel:correlation initiate="no" set="CorrSet2"></bpel:correlation>
+                                                <bpel:correlation initiate="no" set="CorrSet3"></bpel:correlation>
+                                            
+                                        </bpel:correlations>
+                                        </bpel:receive>
+                                    <bpel:assign validate="no" name="AssignPID">
+                                        <bpel:copy>
+                                            <bpel:from><bpel:literal><tns:completeResponse xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <iid>iid</iid>
+</tns:completeResponse>
+</bpel:literal></bpel:from>
+                                            <bpel:to variable="completeResponse" part="parameters"></bpel:to>
+                                        </bpel:copy>
+                                        <bpel:copy>
+                                            <bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+                                                <![CDATA[$ode:pid]]>
+                                            </bpel:from>
+                                            <bpel:to part="parameters" variable="completeResponse">
+                                                <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[iid]]></bpel:query>
+                                            </bpel:to>
+                                        </bpel:copy>
+                                    </bpel:assign>
+                                    <bpel:reply name="completeReply" partnerLink="client" operation="complete" portType="tns:TestCorrelationMultiScopeComplexPort" variable="completeResponse"></bpel:reply>
+                                    </bpel:sequence>
+                                </bpel:scope>
+                            </bpel:sequence>
+                    </bpel:scope>
+                </bpel:sequence>
+            </bpel:scope>
+        </bpel:sequence>
+    </bpel:scope>
+</bpel:process>
+

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplexArtifacts.wsdl
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplexArtifacts.wsdl b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplexArtifacts.wsdl
new file mode 100644
index 0000000..3abae1a
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/TestCorrelationMultiScopeComplexArtifacts.wsdl
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ~ 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.
+  -->
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:p="http://www.w3.org/2001/XMLSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" name="TestCorrelationMultiScopeComplex" targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+
+	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+		TYPE DEFINITION - List of types participating in this BPEL process The BPEL 
+		Designer will generate default request and response types but you can define 
+		or import any XML Schema type and use them as part of the message types. 
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <plnk:partnerLinkType name="client">
+    <plnk:role name="myRole" portType="tns:TestCorrelationMultiScopeComplexPort"/>
+  </plnk:partnerLinkType>
+
+  <vprop:property name="corrProperty1" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:initiateRequest" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive2Request" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+
+  <vprop:property name="corrProperty2" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:receive2Request" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  
+  <vprop:property name="corrProperty3" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty3">
+    <vprop:query><![CDATA[/corr3]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty3">
+    <vprop:query><![CDATA[/corr3]]></vprop:query>
+  </vprop:propertyAlias>
+  
+    <types>
+		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+
+			<xsd:element name="initiate" type="tns:inputType"/>
+
+			<xsd:element name="initiateResponse" type="tns:ouputType"/>
+
+			<xsd:element name="receive2" type="tns:inputType"/>
+
+			<xsd:element name="receive3" type="tns:inputType"/>
+
+			<xsd:element name="complete" type="tns:inputType"/>
+
+			<xsd:element name="completeResponse" type="tns:ouputType">
+			</xsd:element>
+
+			<xsd:complexType name="inputType">
+				<xsd:sequence>
+					<xsd:element name="corr1" type="xsd:string"/>
+					<xsd:element name="corr2" type="xsd:string"/>
+					<xsd:element name="corr3" type="xsd:string"/>
+				</xsd:sequence>
+			</xsd:complexType>
+
+			<xsd:complexType name="ouputType">
+				<xsd:sequence>
+					<xsd:element name="iid" type="xsd:string"/>
+				</xsd:sequence>
+			</xsd:complexType>
+        </xsd:schema>
+    </types>
+
+
+    <plnk:partnerLinkType name="TestCorrelationMultiScopeComplex">
+        <plnk:role name="TestCorrelationMultiScopeComplexProvider" portType="tns:TestCorrelationMultiScopeComplex"/>
+    </plnk:partnerLinkType>
+    
+
+    <message name="initiateRequest">
+    	<part element="tns:initiate" name="parameters"/>
+    </message>
+    <message name="initiateResponse">
+    	<part element="tns:initiateResponse" name="parameters"/>
+    </message>
+    <message name="receive2Request">
+    	<part element="tns:receive2" name="parameters"/>
+    </message>
+    <message name="receive3Request">
+        <part element="tns:receive3" name="parameters"/>
+    </message>
+    <message name="completeRequest">
+    	<part element="tns:complete" name="parameters"/>
+    </message>
+    <message name="completeResponse">
+    	<part element="tns:completeResponse" name="parameters"/>
+    </message>
+    <portType name="TestCorrelationMultiScopeComplexPort">
+        <operation name="initiate">
+        	<input message="tns:initiateRequest"/>
+        	<output message="tns:initiateResponse"/>
+        </operation>
+        <operation name="receive2">
+        	<input message="tns:receive2Request"/>
+        </operation>
+        <operation name="receive3">
+        	<input message="tns:receive3Request"/>
+        </operation>
+        <operation name="complete">
+        	<input message="tns:completeRequest"/>
+        	<output message="tns:completeResponse"/>
+        </operation>
+    </portType>
+    <binding name="TestCorrelationMultiScopeComplexBinding" type="tns:TestCorrelationMultiScopeComplexPort">
+    	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    	<operation name="initiate">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/initiate"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    		<output>
+    			<soap:body use="literal"/>
+    		</output>
+    	</operation>
+    	<operation name="receive2">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/receive2"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    	</operation>
+    	<operation name="receive3">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/receive3"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    	</operation>
+    	<operation name="complete">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/complete"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    		<output>
+    			<soap:body use="literal"/>
+    		</output>
+    	</operation>
+    </binding>
+    <service name="TestCorrelationMultiScopeComplexService">
+        <port binding="tns:TestCorrelationMultiScopeComplexBinding" name="TestCorrelationMultiScopeComplexPort">
+        	<soap:address location="http://localhost:8888/ode/processes/TestCorrelationMultiScopeComplexService"/>
+    </port>
+    </service>
+</definitions>

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/complete.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/complete.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/complete.soap
new file mode 100644
index 0000000..69e55df
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/complete.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:complete>
+         <corr1>A</corr1>
+         <corr2>B</corr2>
+         <corr3>C</corr3>
+      </tes:complete>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/deploy.xml
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/deploy.xml b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/deploy.xml
new file mode 100644
index 0000000..dbfc6c5
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/deploy.xml
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:TestCorrelationMultiScopeComplex="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+  <process name="TestCorrelationMultiScopeComplex:TestCorrelationMultiScopeComplex">
+    <active>true</active>
+    <retired>false</retired>
+    <process-events generate="all"/>
+    <provide partnerLink="client">
+      <service name="TestCorrelationMultiScopeComplex:TestCorrelationMultiScopeComplexService" port="TestCorrelationMultiScopeComplexPort"/>
+    </provide>
+  </process>
+</deploy>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/initiate.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/initiate.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/initiate.soap
new file mode 100644
index 0000000..94c7839
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/initiate.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:initiate>
+         <corr1>A</corr1>
+         <corr2>B</corr2>
+         <corr3>C</corr3>
+      </tes:initiate>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive2.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive2.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive2.soap
new file mode 100644
index 0000000..687c917
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive2.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:receive2>
+         <corr1>A</corr1>
+         <corr2>B</corr2>
+         <corr3>C</corr3>
+      </tes:receive2>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive3.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive3.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive3.soap
new file mode 100644
index 0000000..3ec9e0e
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/1/receive3.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:receive3>
+         <corr1>A</corr1>
+         <corr2>B</corr2>
+         <corr3>C</corr3>
+      </tes:receive3>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplex.bpel
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplex.bpel b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplex.bpel
new file mode 100644
index 0000000..39cf400
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplex.bpel
@@ -0,0 +1,151 @@
+<!--
+  ~ 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.
+  -->
+<bpel:process name="TestCorrelationMultiScopeComplex"
+	targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+	suppressJoinFailure="yes"
+	xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+	xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+	xmlns:ns1="http://www.w3.org/2001/XMLSchema"
+	xmlns:ode="http://www.apache.org/ode/type/extension">
+
+	<!-- Import the client WSDL -->
+	<bpel:import location="TestCorrelationMultiScopeComplexArtifacts.wsdl"
+		namespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex"
+		importType="http://schemas.xmlsoap.org/wsdl/" />
+
+	<!-- ================================================================= -->
+	<!-- PARTNERLINKS -->
+	<!-- List of services participating in this BPEL process -->
+	<!-- ================================================================= -->
+    <bpel:partnerLinks>
+        <bpel:partnerLink name="client" partnerLinkType="tns:client" myRole="myRole"></bpel:partnerLink>
+    </bpel:partnerLinks>
+    <!-- ================================================================= -->         
+    <!-- VARIABLES                                                         -->
+    <!-- List of messages and XML documents used within this BPEL process  -->
+    <!-- ================================================================= -->         
+
+    <!-- ================================================================= -->         
+    <!-- ORCHESTRATION LOGIC                                               -->
+    <!-- Set of activities coordinating the flow of messages across the    -->
+    <!-- services integrated within this business process                  -->
+    <!-- ================================================================= -->         
+
+        <bpel:scope name="ancestorScope">
+            <bpel:variables>
+                <bpel:variable name="initiateRequest" messageType="tns:initiateRequest"></bpel:variable>
+                <bpel:variable name="initiateResponse" messageType="tns:initiateResponse"></bpel:variable>
+            </bpel:variables>
+            <bpel:correlationSets>
+                <bpel:correlationSet name="CorrSet1" properties="tns:corrProperty1"></bpel:correlationSet>
+            </bpel:correlationSets>
+            <bpel:sequence name="ancestorSequence">
+	            <bpel:receive name="initiateRequest" partnerLink="client" operation="initiate" portType="tns:TestCorrelationMultiScopeComplexPort" variable="initiateRequest" createInstance="yes">
+	                <bpel:correlations>
+	                    <bpel:correlation initiate="yes" set="CorrSet1"></bpel:correlation>
+	                </bpel:correlations>
+	            </bpel:receive>
+            <bpel:assign validate="no" name="AssignPID">
+                <bpel:copy>
+                    <bpel:from><bpel:literal><tns:initiateResponse xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <iid>iid</iid>
+</tns:initiateResponse>
+</bpel:literal></bpel:from>
+                    <bpel:to variable="initiateResponse" part="parameters"></bpel:to>
+                </bpel:copy>
+                <bpel:copy>
+                    <bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+                        <![CDATA[$ode:pid]]>
+                    </bpel:from>
+                    <bpel:to part="parameters" variable="initiateResponse">
+                        <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[iid]]></bpel:query>
+                    </bpel:to>
+                </bpel:copy>
+            </bpel:assign>
+            <bpel:reply name="initiateReply" partnerLink="client" operation="initiate" portType="tns:TestCorrelationMultiScopeComplexPort" variable="initiateResponse"></bpel:reply>
+
+                <bpel:scope name="grandParentScope">
+                    <bpel:variables><bpel:variable name="receive2Request" messageType="tns:receive2Request"></bpel:variable></bpel:variables>
+                    <bpel:correlationSets>
+                        <bpel:correlationSet name="CorrSet2" properties="tns:corrProperty2"></bpel:correlationSet>
+                    </bpel:correlationSets>
+                    <bpel:sequence name="grandParentSequence">
+                        <bpel:receive name="receive2Request" partnerLink="client" operation="receive2" portType="tns:TestCorrelationMultiScopeComplexPort" variable="receive2Request">
+                        <bpel:correlations>
+                            <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                            <bpel:correlation initiate="yes" set="CorrSet2"></bpel:correlation>
+                        </bpel:correlations>
+                    </bpel:receive>
+
+                    <bpel:scope name="parentScope">
+                            <bpel:variables>
+                                <bpel:variable name="receive3Request" messageType="tns:receive3Request"></bpel:variable>
+                            </bpel:variables>
+                            <bpel:correlationSets>
+                                <bpel:correlationSet name="CorrSet3" properties="tns:corrProperty3"></bpel:correlationSet>
+                            </bpel:correlationSets>
+                            <bpel:sequence name="parentSequence">
+                                <bpel:receive name="receive3Request" partnerLink="client" operation="receive3" portType="tns:TestCorrelationMultiScopeComplexPort" variable="receive3Request">
+                                    <bpel:correlations>
+                                        <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                                        <bpel:correlation initiate="no" set="CorrSet2"></bpel:correlation>
+                                        <bpel:correlation initiate="yes" set="CorrSet3"></bpel:correlation>
+                                    </bpel:correlations>
+                                </bpel:receive>
+
+                                <bpel:scope name="childScope">
+                                    <bpel:variables><bpel:variable name="completeRequest" messageType="tns:completeRequest"></bpel:variable><bpel:variable name="completeResponse" messageType="tns:completeResponse">
+                                    </bpel:variable></bpel:variables>
+                                    <bpel:sequence name="childSequence">
+                                        <bpel:receive name="completeRequest" partnerLink="client" operation="complete" portType="tns:TestCorrelationMultiScopeComplexPort" variable="completeRequest">
+                                            <bpel:correlations>
+                                                <bpel:correlation initiate="no" set="CorrSet1"></bpel:correlation>
+                                                <bpel:correlation initiate="no" set="CorrSet2"></bpel:correlation>
+                                                <bpel:correlation initiate="no" set="CorrSet3"></bpel:correlation>
+                                            
+                                        </bpel:correlations>
+                                        </bpel:receive>
+                                    <bpel:assign validate="no" name="AssignPID">
+                                        <bpel:copy>
+                                            <bpel:from><bpel:literal><tns:completeResponse xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <iid>iid</iid>
+</tns:completeResponse>
+</bpel:literal></bpel:from>
+                                            <bpel:to variable="completeResponse" part="parameters"></bpel:to>
+                                        </bpel:copy>
+                                        <bpel:copy>
+                                            <bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+                                                <![CDATA[$ode:pid]]>
+                                            </bpel:from>
+                                            <bpel:to part="parameters" variable="completeResponse">
+                                                <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[iid]]></bpel:query>
+                                            </bpel:to>
+                                        </bpel:copy>
+                                    </bpel:assign>
+                                    <bpel:reply name="completeReply" partnerLink="client" operation="complete" portType="tns:TestCorrelationMultiScopeComplexPort" variable="completeResponse"></bpel:reply>
+                                    </bpel:sequence>
+                                </bpel:scope>
+                            </bpel:sequence>
+                    </bpel:scope>
+                </bpel:sequence>
+            </bpel:scope>
+        </bpel:sequence>
+    </bpel:scope>
+</bpel:process>
+

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplexArtifacts.wsdl
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplexArtifacts.wsdl b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplexArtifacts.wsdl
new file mode 100644
index 0000000..3abae1a
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/TestCorrelationMultiScopeComplexArtifacts.wsdl
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ~ 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.
+  -->
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:p="http://www.w3.org/2001/XMLSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" name="TestCorrelationMultiScopeComplex" targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+
+	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+		TYPE DEFINITION - List of types participating in this BPEL process The BPEL 
+		Designer will generate default request and response types but you can define 
+		or import any XML Schema type and use them as part of the message types. 
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <plnk:partnerLinkType name="client">
+    <plnk:role name="myRole" portType="tns:TestCorrelationMultiScopeComplexPort"/>
+  </plnk:partnerLinkType>
+
+  <vprop:property name="corrProperty1" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:initiateRequest" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive2Request" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty1">
+    <vprop:query><![CDATA[/corr1]]></vprop:query>
+  </vprop:propertyAlias>
+
+  <vprop:property name="corrProperty2" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:receive2Request" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty2">
+    <vprop:query><![CDATA[/corr2]]></vprop:query>
+  </vprop:propertyAlias>
+  
+  <vprop:property name="corrProperty3" type="p:string"/>
+  <vprop:propertyAlias messageType="tns:completeRequest" part="parameters" propertyName="tns:corrProperty3">
+    <vprop:query><![CDATA[/corr3]]></vprop:query>
+  </vprop:propertyAlias>
+  <vprop:propertyAlias messageType="tns:receive3Request" part="parameters" propertyName="tns:corrProperty3">
+    <vprop:query><![CDATA[/corr3]]></vprop:query>
+  </vprop:propertyAlias>
+  
+    <types>
+		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+
+			<xsd:element name="initiate" type="tns:inputType"/>
+
+			<xsd:element name="initiateResponse" type="tns:ouputType"/>
+
+			<xsd:element name="receive2" type="tns:inputType"/>
+
+			<xsd:element name="receive3" type="tns:inputType"/>
+
+			<xsd:element name="complete" type="tns:inputType"/>
+
+			<xsd:element name="completeResponse" type="tns:ouputType">
+			</xsd:element>
+
+			<xsd:complexType name="inputType">
+				<xsd:sequence>
+					<xsd:element name="corr1" type="xsd:string"/>
+					<xsd:element name="corr2" type="xsd:string"/>
+					<xsd:element name="corr3" type="xsd:string"/>
+				</xsd:sequence>
+			</xsd:complexType>
+
+			<xsd:complexType name="ouputType">
+				<xsd:sequence>
+					<xsd:element name="iid" type="xsd:string"/>
+				</xsd:sequence>
+			</xsd:complexType>
+        </xsd:schema>
+    </types>
+
+
+    <plnk:partnerLinkType name="TestCorrelationMultiScopeComplex">
+        <plnk:role name="TestCorrelationMultiScopeComplexProvider" portType="tns:TestCorrelationMultiScopeComplex"/>
+    </plnk:partnerLinkType>
+    
+
+    <message name="initiateRequest">
+    	<part element="tns:initiate" name="parameters"/>
+    </message>
+    <message name="initiateResponse">
+    	<part element="tns:initiateResponse" name="parameters"/>
+    </message>
+    <message name="receive2Request">
+    	<part element="tns:receive2" name="parameters"/>
+    </message>
+    <message name="receive3Request">
+        <part element="tns:receive3" name="parameters"/>
+    </message>
+    <message name="completeRequest">
+    	<part element="tns:complete" name="parameters"/>
+    </message>
+    <message name="completeResponse">
+    	<part element="tns:completeResponse" name="parameters"/>
+    </message>
+    <portType name="TestCorrelationMultiScopeComplexPort">
+        <operation name="initiate">
+        	<input message="tns:initiateRequest"/>
+        	<output message="tns:initiateResponse"/>
+        </operation>
+        <operation name="receive2">
+        	<input message="tns:receive2Request"/>
+        </operation>
+        <operation name="receive3">
+        	<input message="tns:receive3Request"/>
+        </operation>
+        <operation name="complete">
+        	<input message="tns:completeRequest"/>
+        	<output message="tns:completeResponse"/>
+        </operation>
+    </portType>
+    <binding name="TestCorrelationMultiScopeComplexBinding" type="tns:TestCorrelationMultiScopeComplexPort">
+    	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    	<operation name="initiate">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/initiate"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    		<output>
+    			<soap:body use="literal"/>
+    		</output>
+    	</operation>
+    	<operation name="receive2">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/receive2"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    	</operation>
+    	<operation name="receive3">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/receive3"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    	</operation>
+    	<operation name="complete">
+    		<soap:operation soapAction="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex/complete"/>
+    		<input>
+    			<soap:body use="literal"/>
+    		</input>
+    		<output>
+    			<soap:body use="literal"/>
+    		</output>
+    	</operation>
+    </binding>
+    <service name="TestCorrelationMultiScopeComplexService">
+        <port binding="tns:TestCorrelationMultiScopeComplexBinding" name="TestCorrelationMultiScopeComplexPort">
+        	<soap:address location="http://localhost:8888/ode/processes/TestCorrelationMultiScopeComplexService"/>
+    </port>
+    </service>
+</definitions>

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/complete.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/complete.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/complete.soap
new file mode 100644
index 0000000..6dbeb64
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/complete.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:complete>
+         <corr1>D</corr1>
+         <corr2>E</corr2>
+         <corr3>F</corr3>
+      </tes:complete>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/deploy.xml
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/deploy.xml b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/deploy.xml
new file mode 100644
index 0000000..dbfc6c5
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/deploy.xml
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:TestCorrelationMultiScopeComplex="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+  <process name="TestCorrelationMultiScopeComplex:TestCorrelationMultiScopeComplex">
+    <active>true</active>
+    <retired>false</retired>
+    <process-events generate="all"/>
+    <provide partnerLink="client">
+      <service name="TestCorrelationMultiScopeComplex:TestCorrelationMultiScopeComplexService" port="TestCorrelationMultiScopeComplexPort"/>
+    </provide>
+  </process>
+</deploy>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/initiate.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/initiate.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/initiate.soap
new file mode 100644
index 0000000..d5c5728
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/initiate.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:initiate>
+         <corr1>D</corr1>
+         <corr2>E</corr2>
+         <corr3>F</corr3>
+      </tes:initiate>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive2.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive2.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive2.soap
new file mode 100644
index 0000000..ff90630
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive2.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:receive2>
+         <corr1>D</corr1>
+         <corr2>E</corr2>
+         <corr3>F</corr3>
+      </tes:receive2>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ode/blob/85bb5858/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive3.soap
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive3.soap b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive3.soap
new file mode 100644
index 0000000..d4af346
--- /dev/null
+++ b/axis2-war/src/test/resources/TestCorrelationMultiScopeComplex/2/receive3.soap
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://ode/bpel/unit-test/TestCorrelationMultiScopeComplex">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <tes:receive3>
+         <corr1>D</corr1>
+         <corr2>E</corr2>
+         <corr3>F</corr3>
+      </tes:receive3>
+   </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file