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

svn commit: r381694 [3/38] - in /incubator/ode/scratch: bpe/ ode/ ode/bpelTests/ ode/bpelTests/probeService/ ode/bpelTests/test1/ ode/bpelTests/test10/ ode/bpelTests/test12/ ode/bpelTests/test13/ ode/bpelTests/test14/ ode/bpelTests/test15/ ode/bpelTest...

Added: incubator/ode/scratch/ode/bpelTests/test15/test15.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test15/test15.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test15/test15.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test15/test15.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,80 @@
+<definitions 
+      targetNamespace="urn:sybase:bpel:test15Processing"
+	xmlns:tns="urn:sybase:bpel:test15Processing"
+		xmlns:typens="urn:sybase:bpel:test15Processing:types2"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>    
+
+  <!-- type defs -->
+  <types>
+ 
+     <xsd:schema
+      	targetNamespace="urn:sybase:bpel:test15Processing:types1"
+                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+      <xsd:complexType name="typeIndicator">
+	  <xsd:sequence>
+	    <xsd:element name="indicatorOne" type="xsd:string"/>
+	    <xsd:element name="indicatorTwo" type="xsd:string"/>
+        </xsd:sequence>
+	</xsd:complexType>
+    </xsd:schema>   
+  
+    <xsd:schema
+      targetNamespace="urn:sybase:bpel:test15Processing:types2"
+                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+                xmlns:type2="urn:sybase:bpel:test15Processing:types1">
+
+      <xsd:complexType name="testMessage">
+        <xsd:sequence>
+          <xsd:element name="requestID" type="xsd:string"/>
+          <xsd:element name="requestText" type="xsd:string"/>
+          <xsd:element name="typeIndicators" type="type2:typeIndicator"/>
+        </xsd:sequence>
+      </xsd:complexType>
+
+    </xsd:schema>
+  </types>
+
+  <bpws:property name="testProbeID" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testProbeID" messageType="tns:requestMessage" part="requestID"/>
+
+  <bpws:property name="testPath" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testPath" messageType="tns:requestMessage" part="requestMessageData" query="/testMessage/typeIndicators/types1:indicatorTwo"/>
+
+
+   <message name="requestMessage">
+     <part name="requestMessageData" type="typens:testMessage"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+   
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test15PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <plnk:partnerLinkType name="test15Request">
+	<plnk:role name="test15Service">
+		<plnk:portType name="test15PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test15/test15.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test15/test15.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test15/test15.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test15/test15.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+	<ActivityBindings>
+		<ActivityBinding activityName="assignP" interpretation="pruneAssign"/>
+		<ActivityBinding activityName="assignG" interpretation="graftAssign"/>
+	</ActivityBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test16/data16_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test16/data16_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test16/data16_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test16/data16_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,20 @@
+# Test BPEL fault handlers
+# Thow named fault - fault indicator one is positive.
+# Expected result = Event Start Test16.1 -> throw testFault -> caught testFault -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test16Processing
+port.type=test16PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test16.1
+str.requestText=Event Start Test16.1
+str.faultIndicator1=no
+str.faultIndicator2=no
+

Added: incubator/ode/scratch/ode/bpelTests/test16/test16.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test16/test16.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test16/test16.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test16/test16.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,129 @@
+<process name="test16Process" targetNamespace="urn:sybase:bpel:test16Processing" xmlns:tns="urn:sybase:bpel:test16Processing" suppressJoinFailure="yes" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:prb="urn:sybase:bpel:testProbe">
+	<!-- Unit test fault handlers	-->
+	<!--	throw 					-->
+	<!--	catch 					-->
+	<!--	catchAll 				-->
+	<partnerLinks>
+		<partnerLink name="request" partnerLinkType="tns:test16Request" myRole="test16Service"/>
+		<partnerLink name="probe" partnerLinkType="tns:probeRequest" partnerRole="probeService"/>
+	</partnerLinks>
+	<variables>
+		<variable name="request" messageType="tns:requestMessage"/>
+		<variable name="probeInput" messageType="prb:probeMessage"/>
+		<variable name="reply" messageType="tns:replyMessage"/>
+		<variable name="test1" messageType="tns:processInternal"/>
+		<variable name="test2" messageType="tns:processInternal"/>
+	</variables>
+	<faultHandlers>
+		<catchAll>
+			<sequence>
+				<assign>
+					<copy>
+						<from expression="'caught fault with catchAll'"/>
+						<to variable="probeInput" part="probeName"/>
+					</copy>
+				</assign>
+				<invoke name="allFaultProbe" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+				<!-- copy internal accumulators to the reply message -->
+				<assign name="allFaultAssign">
+					<copy>
+						<from variable="probeInput" part="probeName"/>
+						<to variable="reply" part="replyID"/>
+					</copy>
+					<copy>
+						<from variable="probeInput" part="probeData"/>
+						<to variable="reply" part="replyText"/>
+					</copy>
+				</assign>
+				<reply name="allFaultReply" partnerLink="request" portType="tns:test16PT" operation="request" variable="reply"/>
+			</sequence>
+		</catchAll>
+	</faultHandlers>
+	<sequence>
+		<receive name="receive1" partnerLink="request" portType="tns:test16PT" operation="request" variable="request" createInstance="yes"/>
+		<!-- Copy input variables to internal accumulators -->
+		<assign name="assign1">
+			<copy>
+				<from variable="request" part="requestID"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+			<copy>
+				<from variable="request" part="requestText"/>
+				<to variable="probeInput" part="probeData"/>
+			</copy>
+		</assign>
+		<scope name="scopeOne">
+			<faultHandlers>
+				<catch faultName="uninitializedVariable">
+					<sequence>
+						<assign>
+							<copy>
+								<from expression="'caught uninitializedVariable'"/>
+								<to variable="probeInput" part="probeName"/>
+							</copy>
+						</assign>
+						<invoke name="testFaultProbe" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+						<!-- copy internal accumulators to the reply message -->
+						<assign name="testFaultAssign">
+							<copy>
+								<from variable="probeInput" part="probeName"/>
+								<to variable="reply" part="replyID"/>
+							</copy>
+							<copy>
+								<from variable="probeInput" part="probeData"/>
+								<to variable="reply" part="replyText"/>
+							</copy>
+						</assign>
+					</sequence>
+				</catch>
+			</faultHandlers>
+			<switch>
+				<!-- throws a named fault -->
+				<case condition="getVariableData('request', 'faultIndicator1') = 'yes'">
+					<sequence>
+						<assign>
+							<copy>
+								<from expression="'throw testFault'"/>
+								<to variable="probeInput" part="probeName"/>
+							</copy>
+						</assign>
+						<invoke name="probe1" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+						<throw faultName="tns:testFault"/>
+					</sequence>
+				</case>
+				<!-- throws an unknown fault -->
+				<case condition="getVariableData('test1', 'var1') = 'yes'">
+					<sequence>
+						<assign>
+							<copy>
+								<from expression="'throw unknown fault'"/>
+								<to variable="probeInput" part="probeName"/>
+							</copy>
+						</assign>
+						<invoke name="probe1" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+						<throw faultName="tns:unknownFault"/>
+					</sequence>
+				</case>
+			</switch>
+		</scope>
+		<assign>
+			<copy>
+				<from expression="'process complete'"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+		</assign>
+		<invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+		<!-- copy internal accumulators to the reply message -->
+		<assign name="assign2">
+			<copy>
+				<from variable="probeInput" part="probeName"/>
+				<to variable="reply" part="replyID"/>
+			</copy>
+			<copy>
+				<from variable="probeInput" part="probeData"/>
+				<to variable="reply" part="replyText"/>
+			</copy>
+		</assign>
+		<reply name="reply" partnerLink="request" portType="tns:test16PT" operation="request" variable="reply"/>
+	</sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test16/test16.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test16/test16.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test16/test16.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test16/test16.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,32 @@
+<!-- The public service interface for test2.bpel -->
+<definitions targetNamespace="urn:sybase:bpel:test16Processing" xmlns:tns="urn:sybase:bpel:test16Processing" xmlns:typens="urn:sybase:bpel:test16Processing:types" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prb="urn:sybase:bpel:testProbe">
+	<import namespace="urn:sybase:bpel:test16Processing" location="bpelTests/test16/test16definitions.wsdl"/>
+	<import namespace="urn:sybase:bpel:testProbe" location="bpelTests/probeService/probeService.wsdl"/>
+	<message name="requestMessage">
+		<part name="requestID" type="xsd:string"/>
+		<part name="requestText" type="xsd:string"/>
+		<part name="faultIndicator1" type="xsd:boolean"/>
+		<part name="faultIndicator2" type="xsd:boolean"/>
+	</message>
+	<message name="replyMessage">
+		<part name="replyID" type="xsd:string"/>
+		<part name="replyText" type="xsd:string"/>
+	</message>
+	<!-- portType supported by the test2 process -->
+	<portType name="test16PT">
+		<operation name="request">
+			<input message="requestMessage"/>
+			<output message="replyMessage"/>
+		</operation>
+	</portType>
+	<plnk:partnerLinkType name="test16Request">
+		<plnk:role name="test16Service">
+			<plnk:portType name="test16PT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+	<plnk:partnerLinkType name="probeRequest">
+		<plnk:role name="probeService">
+			<plnk:portType name="prb:probeMessagePT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test16/test16.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test16/test16.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test16/test16.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test16/test16.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test16/test16definitions.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test16/test16definitions.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test16/test16definitions.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test16/test16definitions.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<!-- The WSDL contains message definitions that are internal to the business -->
+<!-- process. ( i.e. counters, accumulators, bpe deployment mappings, etc ... ) -->
+<definitions targetNamespace="urn:sybase:bpel:test16Processing" xmlns:tns="urn:sybase:bpel:test16Processing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+	<message name="processInternal">
+		<part name="var1" type="xsd:string"/>
+		<part name="var2" type="xsd:string"/>
+	</message>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test17/data17_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test17/data17_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test17/data17_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test17/data17_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,19 @@
+# Test BPEL fault handlers with a faultVariable
+# Expected result = Event Start Test17.1 -> caught FaultMessage -> fault text one -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test17Processing
+port.type=test17PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test17.1
+str.requestText=Event Start Test17.1
+str.faultIndicator1=no
+str.faultIndicator2=no
+

Added: incubator/ode/scratch/ode/bpelTests/test17/faultService.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test17/faultService.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test17/faultService.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test17/faultService.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,33 @@
+<?xml version="1.0" ?>
+
+<!-- The falut service is a simple test that throws an exception from an -->
+<!-- external service -->
+
+<definitions targetNamespace="urn:sybase:bpel:testFault"
+             xmlns:tns="urn:sybase:bpel:testFault"
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+             xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+
+  <!-- message declns -->
+
+  <message name="faultMessage">
+     <part name="faultName" type="xsd:string"/>
+     <part name="faultData" type="xsd:string"/>
+   </message>
+	<message name="errorMessage">
+		<part name="errorID" type="xsd:string"/>
+		<part name="errorText" type="xsd:string"/>
+	</message>
+
+  <!-- port type declns -->
+  <portType name="faultMessagePT">
+      <operation name="throwFault">
+         <input name="FaultInputMessage" message="tns:faultMessage"/>
+         <fault name="FaultMessage1" message="tns:errorMessage"/>
+         <fault name="FaultMessage2" message="tns:errorMessage"/>
+      </operation>
+  </portType>
+
+</definitions>
+

Added: incubator/ode/scratch/ode/bpelTests/test17/test17.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test17/test17.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test17/test17.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test17/test17.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,110 @@
+<process name="test17Process" targetNamespace="urn:sybase:bpel:test17Processing" xmlns:tns="urn:sybase:bpel:test17Processing" suppressJoinFailure="yes" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:prb="urn:sybase:bpel:testProbe" xmlns:flt="urn:sybase:bpel:testFault">
+	<!-- Unit test external fault handlers with variable input -->
+	<!--	throw 					-->
+	<!--	catch 					-->
+	<partnerLinks>
+		<partnerLink name="request" partnerLinkType="test17Request" myRole="test17Service"/>
+		<partnerLink name="probe" partnerLinkType="probeRequest" partnerRole="probeService"/>
+		<partnerLink name="fault" partnerLinkType="faultRequest" partnerRole="faultService"/>
+	</partnerLinks>
+	<variables>
+		<variable name="request" messageType="tns:requestMessage"/>
+		<variable name="probeInput" messageType="prb:probeMessage"/>
+		<variable name="reply" messageType="tns:replyMessage"/>
+		<variable name="fault" messageType="flt:faultMessage"/>
+	</variables>
+	<faultHandlers>
+		<catchAll>
+			<sequence>
+				<assign>
+					<copy>
+						<from expression="'caught fault with catchAll'"/>
+						<to variable="probeInput" part="probeName"/>
+					</copy>
+				</assign>
+				<invoke name="allFaultProbe" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+				<!-- copy internal accumulators to the reply message -->
+				<assign name="allFaultAssign">
+					<copy>
+						<from variable="probeInput" part="probeName"/>
+						<to variable="reply" part="replyID"/>
+					</copy>
+					<copy>
+						<from variable="probeInput" part="probeData"/>
+						<to variable="reply" part="replyText"/>
+					</copy>
+				</assign>
+				<reply name="allFaultReply" partnerLink="request" portType="tns:test17PT" operation="request" variable="reply"/>
+			</sequence>
+		</catchAll>
+	</faultHandlers>
+	<sequence>
+		<receive name="receive1" partnerLink="request" portType="tns:test17PT" operation="request" variable="request" createInstance="yes"/>
+		<!-- Copy input variables to internal accumulators -->
+		<assign name="assign1">
+			<copy>
+				<from variable="request" part="requestID"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+			<copy>
+				<from variable="request" part="requestText"/>
+				<to variable="probeInput" part="probeData"/>
+			</copy>
+		</assign>
+		<scope name="scopeOne">
+			<faultHandlers>
+				<catch faultName="flt:FaultMessage1" faultVariable="testError">
+					<sequence>
+						<assign>
+							<copy>
+								<from expression="'caught FaultMessage'"/>
+								<to variable="probeInput" part="probeName"/>
+							</copy>
+						</assign>
+						<invoke name="testFaultProbe" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+						<assign>
+							<copy>
+								<from variable="testError" part="errorText"/>
+								<to variable="probeInput" part="probeName"/>
+							</copy>
+						</assign>
+						<invoke name="faultMessageProbe" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+					</sequence>
+				</catch>
+			</faultHandlers>
+			<sequence>
+				<assign>
+					<copy>
+						<from expression="'FaultMessage1'"/>
+						<to variable="fault" part="faultName"/>
+					</copy>
+					<copy>
+						<from expression="'fault text one'"/>
+						<to variable="fault" part="faultData"/>
+					</copy>
+				</assign>
+				<invoke name="throwTestFault" partnerLink="fault" portType="flt:faultMessagePT" operation="throwFault" inputVariable="fault"/>
+			</sequence>
+
+		</scope>
+		<assign>
+			<copy>
+				<from expression="'process complete'"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+		</assign>
+		<invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+		<!-- copy internal accumulators to the reply message -->
+		<assign name="assign2">
+			<copy>
+				<from variable="probeInput" part="probeName"/>
+				<to variable="reply" part="replyID"/>
+			</copy>
+			<copy>
+				<from variable="probeInput" part="probeData"/>
+				<to variable="reply" part="replyText"/>
+			</copy>
+		</assign>
+		<reply name="reply" partnerLink="request" portType="tns:test17PT" operation="request" variable="reply"/>
+	</sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test17/test17.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test17/test17.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test17/test17.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test17/test17.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,39 @@
+<!-- The public service interface for test17.bpel -->
+<definitions targetNamespace="urn:sybase:bpel:test17Processing" xmlns:tns="urn:sybase:bpel:test17Processing" xmlns:typens="urn:sybase:bpel:test17Processing:types" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prb="urn:sybase:bpel:testProbe" xmlns:flt="urn:sybase:bpel:testFault">
+	<import namespace="urn:sybase:bpel:testProbe" location="bpelTests/probeService/probeService.wsdl"/>
+	<import namespace="urn:sybase:bpel:testFault" location="bpelTests/test17/faultService.wsdl"/>
+	
+	<message name="requestMessage">
+		<part name="requestID" type="xsd:string"/>
+		<part name="requestText" type="xsd:string"/>
+		<part name="faultIndicator1" type="xsd:boolean"/>
+		<part name="faultIndicator2" type="xsd:boolean"/>
+	</message>
+	<message name="replyMessage">
+		<part name="replyID" type="xsd:string"/>
+		<part name="replyText" type="xsd:string"/>
+	</message>
+
+	<!-- portType supported by the test2 process -->
+	<portType name="test17PT">
+		<operation name="request">
+			<input message="requestMessage"/>
+			<output message="replyMessage"/>
+		</operation>
+	</portType>
+	<plnk:partnerLinkType name="test17Request">
+		<plnk:role name="test17Service">
+			<plnk:portType name="test17PT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+	<plnk:partnerLinkType name="probeRequest">
+		<plnk:role name="probeService">
+			<plnk:portType name="prb:probeMessagePT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+	<plnk:partnerLinkType name="faultRequest">
+		<plnk:role name="faultService">
+			<plnk:portType name="flt:faultMessagePT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test17/test17.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test17/test17.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test17/test17.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test17/test17.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+
+		<binding name="BPEBinding2" nameSpace="urn:sybase:bpel:testFault" portType="faultMessagePT">
+    		<operation name="throwFault">
+      			<action implementation="org.apache.ode.action.external.FaultAction"/>
+			</operation>
+  		</binding>
+
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test2/data2_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/data2_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/data2_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/data2_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,20 @@
+# Test BPEL fault handlers
+# Thow named fault - fault indicator one is positive.
+# Expected result = Event Start Test2.1 -> throw testFault -> caught testFault -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test2Processing
+port.type=test2PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test2.1
+str.requestText=Event Start Test2.1
+str.faultIndicator1=yes
+str.faultIndicator2=no
+

Added: incubator/ode/scratch/ode/bpelTests/test2/data2_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/data2_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/data2_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/data2_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,20 @@
+# Test BPEL fault handlers
+# Thow unnamed fault - fault indicator one is negative and fault indicator two is positive.
+# Expected result = Event Start Test2.2 -> throw unknown fault -> caught fault with catchAll
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test2Processing
+port.type=test2PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test2.2
+str.requestText=Event Start Test2.2
+str.faultIndicator1=no
+str.faultIndicator2=yes
+

Added: incubator/ode/scratch/ode/bpelTests/test2/data2_3.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/data2_3.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/data2_3.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/data2_3.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,20 @@
+# Test BPEL fault handlers
+# Thow no fault - fault indicator one is negative and fault indicator two is negative.
+# Expected result = Event Start Test2.3 -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test2Processing
+port.type=test2PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test2.3
+str.requestText=Event Start Test2.3
+str.faultIndicator1=no
+str.faultIndicator2=no
+

Added: incubator/ode/scratch/ode/bpelTests/test2/test2.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/test2.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/test2.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/test2.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,194 @@
+<process name="test2Process" 
+         targetNamespace="urn:sybase:bpel:test2Processing"
+         xmlns:tns="urn:sybase:bpel:test2Processing"
+         suppressJoinFailure="yes"
+         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+         xmlns:prb="urn:sybase:bpel:testProbe">
+
+<!-- Unit test fault handlers	-->
+<!--	throw 					-->
+<!--	catch 					-->
+<!--	catchAll 				-->
+
+  <partnerLinks>
+	<partnerLink name="request" partnerLinkType="tns:test2Request" myRole="test2Service"/>
+	<partnerLink name="probe" partnerLinkType="prb:probeRequest" partnerRole="probeService"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="request" 
+               messageType="tns:requestMessage"/>
+    <variable name="probeInput" 
+               messageType="prb:probeMessage"/>
+    <variable name="reply" 
+               messageType="tns:replyMessage"/>
+  </variables>
+
+  <faultHandlers>
+	<catchAll>
+	   <sequence>
+	   	  	<assign>
+	      		<copy>
+	        		<from expression="'caught fault with catchAll'"/>
+	        		<to variable="probeInput" part="probeName"/>
+	      		</copy>
+	  		</assign> 
+	    	<invoke name="allFaultProbe" partnerLink="probe" 
+	            	portType="prb:probeMessagePT" 
+	            	operation="probe"
+	            	inputVariable="probeInput"  
+	            	outputVariable="probeInput">
+	    	</invoke>
+
+	  	<!-- copy internal accumulators to the reply message -->
+
+	  	<assign name="allFaultAssign">
+	      	<copy>
+	        		<from variable="probeInput" part="probeName"/>
+	        		<to variable="reply" part="replyID"/>
+	      	</copy>
+	      	<copy>
+	        		<from variable="probeInput" part="probeData"/>
+	        		<to variable="reply" part="replyText"/>
+	      	</copy>
+	  	</assign> 
+	    
+	  	<reply name="allFaultReply" partnerLink="request" portType="tns:test2PT" 
+	           operation="request" variable="reply"> 
+	  	</reply>
+	   </sequence>
+	</catchAll>
+  </faultHandlers>
+
+  <sequence>
+	    
+	    <receive name="receive1" partnerLink="request"
+	             portType="tns:test2PT" 
+	             operation="request" variable="request"
+	             createInstance="yes">
+	    </receive>
+	
+		<!-- Copy input variables to internal accumulators -->
+	 
+	    <assign name="assign1">
+	      <copy>
+	        <from variable="request" part="requestID"/>
+	        <to variable="probeInput" part="probeName"/>
+	      </copy>
+	      <copy>
+	        <from variable="request" part="requestText"/>
+	        <to variable="probeInput" part="probeData"/>
+	      </copy>
+	    </assign>   
+	
+	  <scope name="scopeOne">
+  		<faultHandlers>
+			<catch faultName="tns:testFault">
+	   			<sequence>
+	   			
+	   				  <assign>
+	      				<copy>
+	        				<from expression="'caught testFault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  				  </assign> 
+	    				<invoke name="testFaultProbe" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    				</invoke>
+
+	  				<!-- copy internal accumulators to the reply message -->
+
+	  				<assign name="testFaultAssign">
+	      				<copy>
+	        					<from variable="probeInput" part="probeName"/>
+	        					<to variable="reply" part="replyID"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="probeInput" part="probeData"/>
+	        					<to variable="reply" part="replyText"/>
+	      				</copy>
+	  				</assign> 
+	    
+	   			</sequence>
+			</catch>
+		</faultHandlers>
+
+	  <switch>
+		<!-- throws a named fault -->
+	  	<case condition="getVariableData('request', 'faultIndicator1') = 'yes'">
+	  		<sequence>
+	  			<assign>
+	      				<copy>
+	        				<from expression="'throw testFault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+	    		<invoke name="probe1" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    		</invoke>
+	  			<throw faultName="tns:testFault"/>
+	  		</sequence>
+	  	</case>
+		<!-- throws an unknown fault -->
+	  	<case condition="getVariableData('request', 'faultIndicator2') = 'yes'">
+	  	   <sequence>
+	  			<assign>
+	      				<copy>
+	        				<from expression="'throw unknown fault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+	    		<invoke name="probe1" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    		</invoke>
+
+	  		<throw faultName="tns:unknownFault"/>
+	  		</sequence>
+	  	</case>
+
+	  </switch>
+	  </scope>
+
+	  			<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+
+       <invoke name="probe2" partnerLink="probe"
+	            portType="prb:probeMessagePT" 
+	            operation="probe"
+	            inputVariable="probeInput"  
+	            outputVariable="probeInput">
+       </invoke>
+
+	  <!-- copy internal accumulators to the reply message -->
+
+	  <assign name="assign2">
+	      <copy>
+	        <from variable="probeInput" part="probeName"/>
+	        <to variable="reply" part="replyID"/>
+	      </copy>
+	      <copy>
+	        <from variable="probeInput" part="probeData"/>
+	        <to variable="reply" part="replyText"/>
+	      </copy>
+	  </assign> 
+	    
+	  <reply name="reply" partnerLink="request" portType="tns:test2PT" 
+	           operation="request" variable="reply"> 
+	  </reply>
+
+  
+  </sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test2/test2.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/test2.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/test2.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/test2.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,48 @@
+<!-- The public service interface for test2.bpel -->
+
+<definitions 
+      targetNamespace="urn:sybase:bpel:test2Processing"
+	xmlns:tns="urn:sybase:bpel:test2Processing"
+	xmlns:typens="urn:sybase:bpel:test2Processing:types"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:prb="urn:sybase:bpel:testProbe">
+
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>
+
+   <message name="requestMessage">
+     <part name="requestID" type="xsd:string"/>
+     <part name="requestText" type="xsd:string"/>
+     <part name="faultIndicator1" type="xsd:boolean"/>
+     <part name="faultIndicator2" type="xsd:boolean"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test2PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <plnk:partnerLinkType name="test2Request">
+	<plnk:role name="test2Service">
+		<plnk:portType name="test2PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test2/test2.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test2/test2.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test2/test2.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test2/test2.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test3/data3_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test3/data3_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test3/data3_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test3/data3_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,20 @@
+# Test BPEL compensation handlers
+# Thow named fault - fault indicator one is positive. Continue processing.
+# Expected result = Event Start Test3.1 -> begin fault test -> throw testFault -> caught testFault -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test3Processing
+port.type=test3PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+str.requestID=Start Test3.1
+str.requestText=Event Start Test3.1
+str.faultIndicator1=yes
+str.faultIndicator2=no
+

Added: incubator/ode/scratch/ode/bpelTests/test3/data3_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test3/data3_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test3/data3_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test3/data3_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,21 @@
+# Test BPEL compensation handlers
+# Thow unnamed fault - fault indicator one is negative and fault indicator two is positive. Runs compensation handler.
+# Expected result: Event Start Test3.2 -> begin fault test -> throw unknown fault -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test3Processing
+port.type=test3PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+part3=str.faultIndicator1
+part4=str.faultIndicator2
+
+
+str.requestID=Start Test3.2
+str.requestText=Event Start Test3.2
+str.faultIndicator1=no
+str.faultIndicator2=yes
+

Added: incubator/ode/scratch/ode/bpelTests/test3/test3.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test3/test3.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test3/test3.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test3/test3.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,201 @@
+<process name="test3Process" 
+         targetNamespace="urn:sybase:bpel:test3Processing"
+         xmlns:tns="urn:sybase:bpel:test3Processing"
+         suppressJoinFailure="yes"
+         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+         xmlns:prb="urn:sybase:bpel:testProbe">
+
+<!-- Unit test compensation handlers	-->
+<!--	compensate 						-->
+<!--	compensationHandler 			-->
+<!--	scope 							-->
+
+  <partnerLinks>
+	<partnerLink name="request" partnerLinkType="tns:test3Request" myRole="test3Service"/>
+	<partnerLink name="probe" partnerLinkType="prb:probeRequest" partnerRole="probeService"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="probeInput" 
+               messageType="prb:probeMessage"/>
+    <variable name="reply" 
+               messageType="tns:replyMessage"/>
+  </variables>
+
+  <sequence>
+
+	<scope name="ScopeOne">
+
+  	<variables>
+    		<variable name="request" 
+               messageType="tns:requestMessage"/>
+  	</variables>
+
+  	<faultHandlers>
+		<catch faultName="tns:testFault">
+			<sequence>
+	   				  <assign>
+	      				<copy>
+	        				<from expression="'caught testFault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  				  </assign> 
+	    				<invoke name="testFaultProbe" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    				</invoke>
+			</sequence>
+		</catch>
+
+		<catchAll>
+			<compensate scope="ScopeTwo"/>
+		</catchAll>
+
+
+  	</faultHandlers>
+
+	 <sequence>
+	  <scope name="ScopeTwo">
+
+	  <compensationHandler>
+	  		<sequence>
+	  			   	  <assign>
+	      				<copy>
+	        				<from expression="'fire compensation handler'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  				  </assign> 
+	    				<invoke name="compProbe" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    				</invoke>
+    
+
+		<!-- Note: variables within a compensation handler are only visible to the handler. To validate -->
+		<!-- the comp handler set logger com.sybase.bpe.action.external.ProbeAction.level = FINE -->
+		<!-- Expected log msg: ""-->
+
+    	   </sequence>
+	  </compensationHandler>
+
+	  <sequence>	    
+	    <receive name="receive1" partnerLink="request"
+	             portType="tns:test3PT" 
+	             operation="request" variable="request"
+	             createInstance="yes">
+	    </receive>
+	
+		<!-- Copy input variables to internal accumulators -->
+	 
+	    <assign name="assign1">
+	      <copy>
+	        <from variable="request" part="requestID"/>
+	        <to variable="probeInput" part="probeName"/>
+	      </copy>
+	      <copy>
+	        <from variable="request" part="requestText"/>
+	        <to variable="probeInput" part="probeData"/>
+	      </copy>
+	    </assign>   
+	
+
+	  </sequence>
+      </scope>
+
+		<!-- Note: the probeInput variable is updated after scope one has closed -->
+		<!-- therefore it should not show up in the log message for the compensation probe -->
+	  	<assign>
+	    	<copy>
+	    		<from expression="'begin fault test'"/>
+	    		<to variable="probeInput" part="probeName"/>
+	    	</copy>
+	  	</assign> 
+
+	    <invoke name="probe2" partnerLink="probe"
+	            portType="prb:probeMessagePT" 
+	            operation="probe"
+	            inputVariable="probeInput"  
+	            outputVariable="probeInput">
+	    </invoke>
+
+	  <switch>
+	  	<case condition="getVariableData('request', 'faultIndicator1') = 'yes'">
+	  		<sequence>
+	  			<assign>
+	      				<copy>
+	        				<from expression="'throw testFault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+	    		<invoke name="probe1" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    		</invoke>
+	  			<throw faultName="tns:testFault"/>
+	  		</sequence>
+	  	</case>
+	  	<case condition="getVariableData('request', 'faultIndicator2') = 'yes' ">
+	  	   <sequence>
+	  			<assign>
+	      				<copy>
+	        				<from expression="'throw unknown fault'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+	    		<invoke name="probe1" partnerLink="probe" 
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+	    		</invoke>
+
+	  		<throw faultName="tns:unknownFault"/>
+	  		</sequence>
+	  	</case>
+       </switch>
+
+
+	</sequence>
+	</scope>
+
+	  			<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+
+       <invoke name="probe2" partnerLink="probe"
+	            portType="prb:probeMessagePT" 
+	            operation="probe"
+	            inputVariable="probeInput"  
+	            outputVariable="probeInput">
+       </invoke>
+
+
+	  <!-- copy internal accumulators to the reply message -->
+
+	  <assign name="assign2">
+	      <copy>
+	        <from variable="probeInput" part="probeName"/>
+	        <to variable="reply" part="replyID"/>
+	      </copy>
+	      <copy>
+	        <from variable="probeInput" part="probeData"/>
+	        <to variable="reply" part="replyText"/>
+	      </copy>
+	  </assign> 
+	    
+	  <reply name="reply" partnerLink="request" portType="tns:test3PT" 
+	           operation="request" variable="reply"> 
+	  </reply>
+
+  
+  </sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test3/test3.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test3/test3.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test3/test3.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test3/test3.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,46 @@
+<!-- The public service interface for test3.bpel -->
+
+<definitions 
+      targetNamespace="urn:sybase:bpel:test3Processing"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:prb="urn:sybase:bpel:testProbe">
+
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>
+
+   <message name="requestMessage">
+     <part name="requestID" type="xsd:string"/>
+     <part name="requestText" type="xsd:string"/>
+     <part name="faultIndicator1" type="xsd:boolean"/>
+     <part name="faultIndicator2" type="xsd:boolean"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test3PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <plnk:partnerLinkType name="test3Request">
+	<plnk:role name="test3Service">
+		<plnk:portType name="test3PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test3/test3.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test3/test3.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test3/test3.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test3/test3.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test4/data4_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test4/data4_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test4/data4_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test4/data4_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,14 @@
+# Test BPEL wait
+# Receive message starts process - timer fires - process completes.
+# Expected log msg:  
+
+target.name.space=urn:sybase:bpel:test4Processing
+port.type=test4PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test4
+str.requestText=Event Start Test4
+

Added: incubator/ode/scratch/ode/bpelTests/test4/data4_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test4/data4_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test4/data4_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test4/data4_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,14 @@
+# Test BPEL wait
+# Receive message starts process - timer fires - process completes.
+# Expected log msg:  
+
+target.name.space=urn:sybase:bpel:test4Processing
+port.type=test4PT_2
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test4_2
+str.requestText=Event Start Test4 Part 2
+

Added: incubator/ode/scratch/ode/bpelTests/test4/test4.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test4/test4.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test4/test4.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test4/test4.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,60 @@
+<process name="test4Process" targetNamespace="urn:sybase:bpel:test4Processing" xmlns:tns="urn:sybase:bpel:test4Processing" suppressJoinFailure="yes" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:prb="urn:sybase:bpel:testProbe">
+	<!-- Unit test Timer Service Test -->
+	<partnerLinks>
+		<partnerLink name="request" partnerLinkType="test4Request" myRole="test4Service"/>
+		<partnerLink name="probe" partnerLinkType="probeRequest" partnerRole="probeService"/>
+	</partnerLinks>
+	<variables>
+		<variable name="request" messageType="tns:requestMessage"/>
+		<variable name="probeInput" messageType="prb:probeMessage"/>
+		<variable name="reply" messageType="tns:replyMessage"/>
+	</variables>
+	<sequence>
+		<receive name="receive1" partnerLink="request" portType="tns:test4PT" operation="request" variable="request" createInstance="yes"/>
+		<!-- Copy input variables to internal accumulators -->
+		<assign name="assign1">
+			<copy>
+				<from variable="request" part="requestID"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+			<copy>
+				<from variable="request" part="requestText"/>
+				<to variable="probeInput" part="probeData"/>
+			</copy>
+		</assign>
+		
+		<invoke name="probe1" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+		
+		<wait for="PT10S"/>
+		
+		<invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+		
+		<!-- block until request message is sent -->
+		<receive name="receive2" partnerLink="request" portType="tns:test4PT_2" operation="request" variable="request"/>
+		
+		<!-- Copy input variables to internal accumulators -->
+		<assign name="assign2">
+			<copy>
+				<from variable="request" part="requestID"/>
+				<to variable="probeInput" part="probeName"/>
+			</copy>
+		</assign>
+		
+		<invoke name="probe3" partnerLink="probe" portType="prb:probeMessagePT" operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+		
+		<!-- copy internal accumulators to the reply message -->
+		
+		<assign name="assign3">
+			<copy>
+				<from variable="probeInput" part="probeName"/>
+				<to variable="reply" part="replyID"/>
+			</copy>
+			<copy>
+				<from variable="probeInput" part="probeData"/>
+				<to variable="reply" part="replyText"/>
+			</copy>
+		</assign>
+		
+		<reply name="reply" partnerLink="request" portType="tns:test4PT" operation="request" variable="reply"/>
+	</sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test4/test4.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test4/test4.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test4/test4.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test4/test4.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,45 @@
+<definitions targetNamespace="urn:sybase:bpel:test4Processing" 
+		xmlns="http://schemas.xmlsoap.org/wsdl/" 
+		xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" 
+		xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+		xmlns:prb="urn:sybase:bpel:testProbe">
+	<import namespace="urn:sybase:bpel:testProbe" location="bpelTests/probeService/probeService.wsdl"/>
+
+	<message name="requestMessage">
+		<part name="requestID" type="xsd:string"/>
+		<part name="requestText" type="xsd:string"/>
+	</message>
+
+
+
+	<message name="replyMessage">
+		<part name="replyID" type="xsd:string"/>
+		<part name="replyText" type="xsd:string"/>
+	</message>
+
+	<!-- portType supported by the test2 process -->
+	<portType name="test4PT">
+		<operation name="request">
+			<input message="requestMessage"/>
+			<output message="replyMessage"/>
+		</operation>
+	</portType>
+	<portType name="test4PT_2">
+		<operation name="request">
+			<input message="requestMessage"/>
+			<output message="replyMessage"/>
+		</operation>
+</portType>
+
+
+	<plnk:partnerLinkType name="test4Request">
+		<plnk:role name="test4Service">
+			<plnk:portType name="test4PT"/>
+		</plnk:role>
+	</plnk:partnerLinkType>
+	<plnk:partnerLinkType name="probeRequest">
+		<plnk:role name="probeService">
+			<plnk:portType name="prb:probeMessagePT"/>
+		</plnk:role>
+</plnk:partnerLinkType>
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test4/test4.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test4/test4.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test4/test4.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test4/test4.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test5/data5_1_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test5/data5_1_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test5/data5_1_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test5/data5_1_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,15 @@
+# Test BPEL correlated receive
+# Message one starts the process and message two will cause the process to complete.
+# Message one and Message two will be the same data file.
+# Expected result = 
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test5Processing
+port.type=test5PT
+operation=request
+
+part1=xml.requestMessageData
+
+xml.requestMessageData=<testMessage><requestID>Start Test5.1</requestID><requestText>Event Start Test5.1</requestText><requestEnd>no</requestEnd></testMessage>
+

Added: incubator/ode/scratch/ode/bpelTests/test5/data5_1_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test5/data5_1_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test5/data5_1_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test5/data5_1_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,13 @@
+# Test BPEL correlated receive
+# Message one starts the process and message two will cause the process to complete.
+# Message one and Message two will be the same data file.
+# Expected result = Event Start Test5.1 -> loop on receive until message includes requestEnd = yes -> received message -> received message -> process complete
+
+target.name.space=urn:sybase:bpel:test5Processing
+port.type=test5PT
+operation=request
+
+part1=xml.requestMessageData
+
+xml.requestMessageData=<testMessage><requestID>Start Test5.1</requestID><requestText>Event Start Test5.2.1</requestText><requestEnd>yes</requestEnd></testMessage>
+

Added: incubator/ode/scratch/ode/bpelTests/test5/test5.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test5/test5.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test5/test5.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test5/test5.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,120 @@
+<process name="test5Process" 
+         targetNamespace="urn:sybase:bpel:test5Processing"
+         xmlns:tns="urn:sybase:bpel:test5Processing"
+         suppressJoinFailure="yes"
+         xmlns:prb="urn:sybase:bpel:testProbe"
+         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+<!-- test correlated receive -->
+
+  <partnerLinks>
+	<partnerLink name="request" partnerLinkType="test5Request" myRole="test5Service"/>
+	<partnerLink name="probe" partnerLinkType="probeRequest" partnerRole="probeService"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="request" 
+               messageType="tns:requestMessage"/>
+    <variable name="probeInput" 
+               messageType="prb:probeMessage"/>
+    <variable name="reply" 
+               messageType="tns:replyMessage"/>
+  </variables>
+
+  <correlationSets>
+	<correlationSet name="testCorr1" properties="tns:testProbeID"/>
+  </correlationSets>
+
+  <sequence>
+	    
+	    <receive name="receive1" partnerLink="request"
+	             portType="tns:test5PT" 
+	             operation="request" variable="request"
+	             createInstance="yes">
+		<correlations>
+			<correlation set="testCorr1" initiate="yes"/>
+		</correlations>
+	    </receive>
+	
+		<!-- Copy input variables to internal accumulators -->
+	 
+	    <assign name="assign1">
+	      <copy>
+	        <from variable="request" property="tns:testProbeID"/>
+	        <to variable="probeInput" part="probeName"/>
+	      </copy>
+	      <copy>
+	        <from variable="request" property="tns:testProbeData"/>
+	        <to variable="probeInput" part="probeData"/>
+	      </copy>
+	    </assign>   
+	
+	  <assign>
+			<copy>
+      				<from expression="'loop on receive until message includes requestEnd = yes'"/>
+      				<to variable="probeInput" part="probeName"/>
+			</copy>
+	  </assign> 
+  	  <invoke name="probe" partnerLink="probe" 
+	   			portType="prb:probeMessagePT" 
+	   			operation="probe"
+	   			inputVariable="probeInput"  
+	   			outputVariable="probeInput">
+	  </invoke>
+	  <while condition="getVariableData('request','requestMessageData','/testMessage/requestEnd') = 'no'">
+	  	<sequence>
+
+	    		<receive name="receive2" partnerLink="request"
+	             	portType="tns:test5PT" 
+	             	operation="request" variable="request">
+				<correlations>
+					<correlation set="testCorr1"/>
+				</correlations>
+	    		</receive>
+
+	  			<assign>
+				<copy>
+      				<from expression="'received message'"/>
+      				<to variable="probeInput" part="probeName"/>
+				</copy>
+	  			</assign> 
+  	  			<invoke name="probe" partnerLink="probe" 
+	   					portType="prb:probeMessagePT" 
+	   					operation="probe"
+	   					inputVariable="probeInput"  
+	   					outputVariable="probeInput">
+	  			</invoke>
+		</sequence>
+	  </while>
+	  
+	  	  			<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  			</assign> 
+
+       <invoke name="probe" partnerLink="probe"
+	            portType="prb:probeMessagePT" 
+	            operation="probe"
+	            inputVariable="probeInput"  
+	            outputVariable="probeInput">
+       </invoke>
+
+	  <assign name="assign2">
+	      <copy>
+	        <from variable="probeInput" part="probeName"/>
+	        <to variable="reply" part="replyID"/>
+	      </copy>
+	      <copy>
+	        <from variable="probeInput" part="probeData"/>
+	        <to variable="reply" part="replyText"/>
+	      </copy>
+	  </assign> 
+	    
+	  <reply name="reply" partnerLink="request" portType="tns:test5PT" 
+	           operation="request" variable="reply"> 
+	  </reply>
+  
+  </sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test5/test5.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test5/test5.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test5/test5.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test5/test5.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,69 @@
+<!-- The public service interface for test5.bpel -->
+
+<definitions 
+      targetNamespace="urn:sybase:bpel:test5Processing"
+	xmlns:tns="urn:sybase:bpel:test5Processing"
+	xmlns:typens="urn:sybase:bpel:test5Processing:types"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:prb="urn:sybase:bpel:testProbe"
+      xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+    
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>
+
+  <!-- type defs -->
+  <types>
+    <xsd:schema
+      targetNamespace="urn:sybase:bpel:test5Processing:types"
+                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+      <xsd:complexType name="testMessage">
+        <xsd:sequence>
+          <xsd:element name="requestID" type="xsd:string"/>
+          <xsd:element name="requestText" type="xsd:string"/>
+	    <xsd:element name="requestEnd" type="xsd:boolean"/>
+        </xsd:sequence>
+      </xsd:complexType>
+   </xsd:schema>
+  </types>
+
+  <bpws:property name="testProbeID" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testProbeID" messageType="tns:requestMessage" part="requestMessageData" query="/testMessage/requestID"/>
+
+  <bpws:property name="testProbeData" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testProbeData" messageType="tns:requestMessage" part="requestMessageData" query="/testMessage/requestText"/>
+
+
+   <message name="requestMessage">
+     <part name="requestMessageData" type="typens:testMessage"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test5PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <plnk:partnerLinkType name="test5Request">
+	<plnk:role name="test5Service">
+		<plnk:portType name="test5PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test5/test5.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test5/test5.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test5/test5.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test5/test5.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test6/data6_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test6/data6_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test6/data6_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test6/data6_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,16 @@
+# Test BPEL instantiating pick
+# Multiple Receive messages start process. This is a message on portType one.
+# Expected msg: Event Start Test6.1 -> pick branch one invoked -> process complete 
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test6Processing
+port.type=test6_1PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test6.1
+str.requestText=Event Start Test6.1
+

Added: incubator/ode/scratch/ode/bpelTests/test6/data6_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test6/data6_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test6/data6_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test6/data6_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,17 @@
+# Test BPEL instantiating pick
+# Multiple Receive messages start process. This is a message on portType 2.
+# Expected msg: Event Start Test6.2 -> pick branch two invoked -> process complete
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+  
+
+target.name.space=urn:sybase:bpel:test6Processing
+port.type=test6_2PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test6.2
+str.requestText=Event Start Test6.2
+

Added: incubator/ode/scratch/ode/bpelTests/test6/test6.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test6/test6.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test6/test6.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test6/test6.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,146 @@
+<process name="test6Process" 
+         targetNamespace="urn:sybase:bpel:test6Processing"
+         xmlns:tns="urn:sybase:bpel:test6Processing"
+         suppressJoinFailure="yes"
+         xmlns:prb="urn:sybase:bpel:testProbe"
+         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+<!-- Unit test process instantiating pick -->
+
+  <partnerLinks>
+	<partnerLink name="request" partnerLinkType="test6Request" myRole="test6Service"/>
+	<partnerLink name="probe" partnerLinkType="probeRequest" partnerRole="probeService"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="request" 
+               messageType="tns:requestMessage"/>
+    <variable name="probeInput" 
+               messageType="prb:probeMessage"/>
+    <variable name="reply" 
+               messageType="tns:replyMessage"/>
+  </variables>
+
+
+	    <pick name="testPick" createInstance="yes">
+			<onMessage partnerLink="request"
+				portType="tns:test6_1PT" operation="request" variable="request">
+				<sequence>
+	    				<assign name="assign1">
+	      				<copy>
+	        					<from variable="request" property="tns:testProbeID"/>
+	        					<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="request" part="requestText"/>
+	        					<to variable="probeInput" part="probeData"/>
+	      				</copy>
+	    				</assign>   
+
+	  	  				<assign>
+	      				<copy>
+	        				<from expression="'pick branch one invoked'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+	    			
+	    				<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+
+	  				<assign name="assign2">
+	      				<copy>
+	        					<from variable="probeInput" part="probeName"/>
+	        					<to variable="reply" part="replyID"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="probeInput" part="probeData"/>
+	        					<to variable="reply" part="replyText"/>
+	      				</copy>
+	  				</assign> 
+	    
+	  				<reply name="reply" partnerLink="request" portType="tns:test6_1PT" 
+	           				operation="request" variable="reply"> 
+	  				</reply>
+
+				</sequence>
+			</onMessage>
+			<onMessage partnerLink="request"
+				portType="tns:test6_2PT" operation="request" variable="request">
+				<sequence>
+	    				<assign name="assign1">
+	      				<copy>
+	        					<from variable="request" property="tns:testProbeID"/>
+	        					<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="request" part="requestText"/>
+	        					<to variable="probeInput" part="probeData"/>
+	      				</copy>
+	    				</assign>   
+
+	  	  				<assign>
+	      				<copy>
+	        				<from expression="'pick branch two invoked'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+	    			
+	    				<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+
+	  				<assign name="assign2">
+	      				<copy>
+	        					<from variable="probeInput" part="probeName"/>
+	        					<to variable="reply" part="replyID"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="probeInput" part="probeData"/>
+	        					<to variable="reply" part="replyText"/>
+	      				</copy>
+	  				</assign> 
+	    
+	  				<reply name="reply" partnerLink="request" portType="tns:test6_2PT" 
+	           				operation="request" variable="reply"> 
+	  				</reply>
+
+				</sequence>
+			</onMessage>
+		</pick>
+	
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test6/test6.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test6/test6.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test6/test6.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test6/test6.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,64 @@
+<!-- The public service interface for test6.bpel -->
+
+<definitions 
+      targetNamespace="urn:sybase:bpel:test6Processing"
+	xmlns:tns="urn:sybase:bpel:test6Processing"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:prb="urn:sybase:bpel:testProbe"
+      xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>
+
+  <bpws:property name="testProbeID" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testProbeID" messageType="tns:requestMessage" part="requestID"/>
+
+   <message name="requestMessage">
+     <part name="requestID" type="xsd:string"/>
+     <part name="requestText" type="xsd:string"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test6_1PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <portType name="test6_2PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+
+   <plnk:partnerLinkType name="test6_1Request">
+	<plnk:role name="test6_1Service">
+		<plnk:portType name="test6_1PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="test6_2Request">
+	<plnk:role name="test6_2Service">
+		<plnk:portType name="test6_2PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>

Added: incubator/ode/scratch/ode/bpelTests/test6/test6.xml
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test6/test6.xml?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test6/test6.xml (added)
+++ incubator/ode/scratch/ode/bpelTests/test6/test6.xml Tue Feb 28 08:31:48 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BPEBinding xmlns="http://apache.org/ode/binding/ode" xmlns:prb="urn:sybase:bpel:testProbe">
+	<ActionBindings>
+		<binding  name="BPEBinding1" nameSpace="urn:sybase:bpel:testProbe" portType="probeMessagePT">
+			<operation name="probe">
+				<action implementation="org.apache.ode.action.external.ProbeAction" prb:rootSourcePart="probeName" prb:targetPart="probeData"/>
+			</operation>
+		</binding>
+	</ActionBindings>
+</BPEBinding>

Added: incubator/ode/scratch/ode/bpelTests/test7/data7_1.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test7/data7_1.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test7/data7_1.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test7/data7_1.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,15 @@
+# Test BPEL blocking pick
+# A single Receive message starts process. This is a message on portType one.
+# This message should be run in conjuction with data7_2 or data7_3
+# Expected msg:  
+
+target.name.space=urn:sybase:bpel:test7Processing
+port.type=test7_1PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test7.1
+str.requestText=Event Start Test7.1
+

Added: incubator/ode/scratch/ode/bpelTests/test7/data7_2.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test7/data7_2.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test7/data7_2.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test7/data7_2.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,15 @@
+# Test BPEL blocking pick
+# A single Receive message starts process. This message will cause the pick to fire and the process to complete.
+# This message should be run in conjuction with data7_1
+# Expected msg: Event Start Test7.1 -> block for next message -> pick branch one invoked -> process complete 
+
+target.name.space=urn:sybase:bpel:test7Processing
+port.type=test7_2PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test7.2
+str.requestText=Event Start Test7.2
+

Added: incubator/ode/scratch/ode/bpelTests/test7/data7_3.txt
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test7/data7_3.txt?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test7/data7_3.txt (added)
+++ incubator/ode/scratch/ode/bpelTests/test7/data7_3.txt Tue Feb 28 08:31:48 2006
@@ -0,0 +1,17 @@
+# Test BPEL blocking pick
+# A single Receive message starts process. This message will cause the pick to fire and the process to complete.
+# This message should be run in conjuction with data7_1
+# Expected msg: Event Start Test7.1 -> block for next message -> pick branch two invoked -> process complete 
+
+# Note the prefix on the part name identifies the message type ( xml = xml data; str = string data )
+
+target.name.space=urn:sybase:bpel:test7Processing
+port.type=test7_3PT
+operation=request
+
+part1=str.requestID
+part2=str.requestText
+
+str.requestID=Start Test7.3
+str.requestText=Event Start Test7.3
+

Added: incubator/ode/scratch/ode/bpelTests/test7/test7.bpel
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test7/test7.bpel?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test7/test7.bpel (added)
+++ incubator/ode/scratch/ode/bpelTests/test7/test7.bpel Tue Feb 28 08:31:48 2006
@@ -0,0 +1,159 @@
+<process name="test7Process" 
+         targetNamespace="urn:sybase:bpel:test7Processing"
+         xmlns:tns="urn:sybase:bpel:test7Processing"
+         suppressJoinFailure="yes"
+         xmlns:prb="urn:sybase:bpel:testProbe"
+         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+<!-- Unit test pick with blocking static key -->
+
+  <partnerLinks>
+	<partnerLink name="request" partnerLinkType="test7Request" myRole="test7Service"/>
+	<partnerLink name="probe" partnerLinkType="probeRequest" partnerRole="probeService"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="request" 
+               messageType="tns:requestMessage"/>
+    <variable name="probeInput" 
+               messageType="prb:probeMessage"/>
+    <variable name="reply" 
+               messageType="tns:replyMessage"/>
+  </variables>
+
+  <correlationSets>
+	<correlationSet name="testCorr1" properties="tns:testProbeID"/>
+  </correlationSets>
+
+	<sequence>
+	    <receive name="receive1" partnerLink="request"
+	             portType="tns:test7_1PT" 
+	             operation="request" variable="request"
+	             createInstance="yes">
+	    </receive>
+
+	    <assign name="assign1">
+	    	<copy>
+	    		<from variable="request" property="tns:testProbeID"/>
+	        	<to variable="probeInput" part="probeName"/>
+	      </copy>
+	      <copy>
+	      	<from variable="request" part="requestText"/>
+	      	<to variable="probeInput" part="probeData"/>
+	      </copy>
+	    </assign>   
+
+
+	  <assign>
+	  		<copy>
+	   				<from expression="'block for next message'"/>
+	   				<to variable="probeInput" part="probeName"/>
+	  		</copy>
+	  </assign> 
+
+       <invoke name="probe" partnerLink="probe"
+	            portType="prb:probeMessagePT" 
+	            operation="probe"
+	            inputVariable="probeInput"  
+	            outputVariable="probeInput">
+       </invoke>
+
+	    <pick name="testPick">
+			<onMessage partnerLink="request"
+				portType="tns:test7_2PT" operation="request" variable="request">
+				<sequence>
+	  	  				<assign>
+	      				<copy>
+	        				<from expression="'pick branch one invoked'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+	    			
+	    				<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+
+	  				<assign name="assign2">
+	      				<copy>
+	        					<from variable="probeInput" part="probeName"/>
+	        					<to variable="reply" part="replyID"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="probeInput" part="probeData"/>
+	        					<to variable="reply" part="replyText"/>
+	      				</copy>
+	  				</assign> 
+	    
+	  				<reply name="reply" partnerLink="request" portType="tns:test7_2PT" 
+	           				operation="request" variable="reply"> 
+	  				</reply>
+
+				</sequence>
+			</onMessage>
+			<onMessage partnerLink="request"
+				portType="tns:test7_3PT" operation="request" variable="request">
+				<sequence>
+	  	  				<assign>
+	      				<copy>
+	        				<from expression="'pick branch two invoked'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+	    			
+	    				<assign>
+	      				<copy>
+	        				<from expression="'process complete'"/>
+	        				<to variable="probeInput" part="probeName"/>
+	      				</copy>
+	  					</assign> 
+
+       					<invoke name="probe" partnerLink="probe"
+	            			portType="prb:probeMessagePT" 
+	            			operation="probe"
+	            			inputVariable="probeInput"  
+	            			outputVariable="probeInput">
+       					</invoke>
+	  				<assign name="assign2">
+	      				<copy>
+	        					<from variable="probeInput" part="probeName"/>
+	        					<to variable="reply" part="replyID"/>
+	      				</copy>
+	      				<copy>
+	        					<from variable="probeInput" part="probeData"/>
+	        					<to variable="reply" part="replyText"/>
+	      				</copy>
+	  				</assign> 
+	    
+	  				<reply name="reply" partnerLink="request" portType="tns:test7_3PT" 
+	           				operation="request" variable="reply"> 
+	  				</reply>
+
+				</sequence>
+			</onMessage>
+		</pick>
+	</sequence>
+</process>

Added: incubator/ode/scratch/ode/bpelTests/test7/test7.wsdl
URL: http://svn.apache.org/viewcvs/incubator/ode/scratch/ode/bpelTests/test7/test7.wsdl?rev=381694&view=auto
==============================================================================
--- incubator/ode/scratch/ode/bpelTests/test7/test7.wsdl (added)
+++ incubator/ode/scratch/ode/bpelTests/test7/test7.wsdl Tue Feb 28 08:31:48 2006
@@ -0,0 +1,74 @@
+<!-- The public service interface for test7.bpel -->
+
+<definitions 
+      targetNamespace="urn:sybase:bpel:test7Processing"
+	xmlns:tns="urn:sybase:bpel:test7Processing"
+      xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"      
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:prb="urn:sybase:bpel:testProbe"
+      xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+  <import namespace="urn:sybase:bpel:testProbe"
+          location="bpelTests/probeService/probeService.wsdl"/>
+
+  <bpws:property name="testProbeID" type="xsd:string"/>
+  <bpws:propertyAlias propertyName="tns:testProbeID" messageType="tns:requestMessage" part="requestID"/>
+
+   <message name="requestMessage">
+     <part name="requestID" type="xsd:string"/>
+     <part name="requestText" type="xsd:string"/>
+   </message>
+   
+   <message name="replyMessage">
+     <part name="replyID" type="xsd:string"/>
+     <part name="replyText" type="xsd:string"/>
+   </message>
+
+   <!-- portType supported by the test2 process -->
+
+   <portType name="test7_1PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+      </operation>
+   </portType>
+
+   <portType name="test7_2PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <portType name="test7_3PT">
+      <operation name="request">
+         <input message="requestMessage"/>
+         <output message="replyMessage"/>
+      </operation>
+   </portType>
+
+   <plnk:partnerLinkType name="test7_1Request">
+	<plnk:role name="test7_1Service">
+		<plnk:portType name="test7_1PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="test7_2Request">
+	<plnk:role name="test7_2Service">
+		<plnk:portType name="test7_2PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="test7_3Request">
+	<plnk:role name="test7_3Service">
+		<plnk:portType name="test7_3PT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+   <plnk:partnerLinkType name="probeRequest">
+	<plnk:role name="probeService">
+		<plnk:portType name="prb:probeMessagePT"/>
+	</plnk:role>
+   </plnk:partnerLinkType>
+
+</definitions>