You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/07/25 21:46:34 UTC

svn commit: r679884 - in /ode/trunk: bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ bpel-test/src/test/java/org/apache/ode/test/ bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/

Author: mriou
Date: Fri Jul 25 12:46:34 2008
New Revision: 679884

URL: http://svn.apache.org/viewvc?rev=679884&view=rev
Log:
On event didn't properly notify its parent scope when it exited, resulting in a dangling scope.

Added:
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/deploy.xml
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test1.properties
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test2.properties
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.bpel
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.wsdl
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4.wsdl
Modified:
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
    ode/trunk/bpel-test/src/test/java/org/apache/ode/test/FaultHandling20Test.java

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java?rev=679884&r1=679883&r2=679884&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_EVENT.java Fri Jul 25 12:46:34 2008
@@ -202,9 +202,9 @@
                             if (faultData != null && _fault == null) {
                                 _fault = faultData;
                                 terminateActive();
-                            }
-
-                            instance(WAITING.this);
+                                _psc.completed(_fault, _comps);
+                            } else
+                                instance(WAITING.this);
                         }
 
                         public void cancelled() { completed(null, CompensationHandler.emptySet()); }

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java?rev=679884&r1=679883&r2=679884&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java Fri Jul 25 12:46:34 2008
@@ -178,13 +178,13 @@
                             instance(ACTIVE.this);
                         }
 
-                        public void completed(FaultData flt, Set<CompensationHandler> compenstations) {
+                        public void completed(FaultData flt, Set<CompensationHandler> compensations) {
                               // Set the fault to the activity's choice, if and only if no previous fault
                               // has been detected (first fault wins).
                               if (flt != null && _fault == null)
                                   _fault = flt;
                               _child = null;
-                              _compensations.addAll(compenstations);
+                              _compensations.addAll(compensations);
 
                               if (flt == null)
                                   stopEventHandlers();
@@ -303,15 +303,12 @@
                         // We have to create a scope for the catch block.
                         BpelRuntimeContext ntive = getBpelRuntimeContext();
 
-                        ActivityInfo faultHandlerActivity = new ActivityInfo(genMonotonic(),
-                                catchBlock,
+                        ActivityInfo faultHandlerActivity = new ActivityInfo(genMonotonic(), catchBlock,
                                 newChannel(TerminationChannel.class,"FH"), newChannel(ParentScopeChannel.class,"FH"));
 
                         ScopeFrame faultHandlerScopeFrame = new ScopeFrame(catchBlock,
                                 ntive.createScopeInstance(_scopeFrame.scopeInstanceId, catchBlock),
-                                _scopeFrame,
-                                _compensations,
-                                _fault);
+                                _scopeFrame, _compensations, _fault);
                         if (catchBlock.faultVariable != null) {
                             try {
                                 VariableInstance vinst =  faultHandlerScopeFrame.resolve(catchBlock.faultVariable);
@@ -329,7 +326,6 @@
                             }
                         }
 
-
                         // Create the fault handler scope.
                         instance(new SCOPE(faultHandlerActivity,faultHandlerScopeFrame, SCOPE.this._linkFrame));
 
@@ -344,8 +340,8 @@
                             public void completed(FaultData fault, Set<CompensationHandler> compensations) {
                                 // The compensations that have been registered here, will never be activated,
                                 // so we'll forget them as soon as possible.
-                                for(Iterator<CompensationHandler> i = compensations.iterator();i.hasNext();)
-                                    i.next().compChannel.forget();
+                                for (CompensationHandler compensation : compensations)
+                                    compensation.compChannel.forget();
 
                                 _self.parent.completed(fault, CompensationHandler.emptySet());
                             }
@@ -398,9 +394,7 @@
 
     private static OCatch findCatch(OFaultHandler fh, QName faultName, OVarType faultType) {
         OCatch bestMatch = null;
-        for (Iterator<OCatch> i = fh.catchBlocks.iterator(); i.hasNext();) {
-            OCatch c = i.next();
-
+        for (OCatch c : fh.catchBlocks) {
             // First we try to eliminate this catch block based on fault-name mismatches:
             if (c.faultName != null) {
                 if (faultName == null)
@@ -415,27 +409,23 @@
                     continue;
                 else if (c.faultVariable.type instanceof OMessageVarType) {
                     if (faultType instanceof OMessageVarType
-                        && ((OMessageVarType)faultType).equals(c.faultVariable.type)) {
+                            && ((OMessageVarType) faultType).equals(c.faultVariable.type)) {
                         // Don't eliminate.
-                    }
-                    else if (faultType instanceof OElementVarType
-                            && ((OMessageVarType)c.faultVariable.type).docLitType !=null
-                            && !((OMessageVarType)c.faultVariable.type).docLitType.equals(faultType)) {
+                    } else if (faultType instanceof OElementVarType
+                            && ((OMessageVarType) c.faultVariable.type).docLitType != null
+                            && !((OMessageVarType) c.faultVariable.type).docLitType.equals(faultType)) {
                         // Don't eliminate.
-                    }
-                    else {
+                    } else {
                         continue;  // Eliminate.
                     }
                 } else if (c.faultVariable.type instanceof OElementVarType) {
                     if (faultType instanceof OElementVarType && faultType.equals(c.faultVariable.type)) {
                         // Don't eliminate
-                    }
-                    else if (faultType instanceof OMessageVarType
-                            && ((OMessageVarType)faultType).docLitType != null
-                            && ((OMessageVarType)faultType).docLitType.equals(c.faultVariable.type)) {
+                    } else if (faultType instanceof OMessageVarType
+                            && ((OMessageVarType) faultType).docLitType != null
+                            && ((OMessageVarType) faultType).docLitType.equals(c.faultVariable.type)) {
                         // Don't eliminate
-                    }
-                    else {
+                    } else {
                         continue; // eliminate
                     }
                 } else {

Modified: ode/trunk/bpel-test/src/test/java/org/apache/ode/test/FaultHandling20Test.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/java/org/apache/ode/test/FaultHandling20Test.java?rev=679884&r1=679883&r2=679884&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/java/org/apache/ode/test/FaultHandling20Test.java (original)
+++ ode/trunk/bpel-test/src/test/java/org/apache/ode/test/FaultHandling20Test.java Fri Jul 25 12:46:34 2008
@@ -30,4 +30,7 @@
 	@Test public void testCatchFaultInFaultHandler() throws Throwable {
         go("/bpel/2.0/TestCatchFaultInFaultHandler");
     }
+    @Test public void testOnEventThrow() throws Throwable {
+        go("/bpel/2.0/TestOnEventThrow");
+    }
 }

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/deploy.xml
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/deploy.xml?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/deploy.xml (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/deploy.xml Fri Jul 25 12:46:34 2008
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<dd:deploy xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd">
+    <dd:process xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd" xmlns:Pool="http://ode.apache.org/test4/Pool"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:diag="http://ode.apache.org/test4"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:this="http://ode.apache.org/test4/process" 
+                xmlns:NPGServices_Abstract="http://www.ode.apache.org/NPG/v1/wsdl"
+                xmlns:NPGData="http://www.ode.apache.org/NPG/v1" name="this:process" fileName="test4-process.bpel">
+  <dd:property name="PATH">test4</dd:property>
+  <dd:property name="SVG">test4.svg</dd:property>
+  <dd:provide partnerLink="processAndPoolPlkVar">
+    <dd:service name="this:CanonicServiceForPool" port="canonicPort"></dd:service>
+  </dd:provide>
+</dd:process></dd:deploy>
\ No newline at end of file

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test1.properties
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test1.properties?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test1.properties (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test1.properties Fri Jul 25 12:46:34 2008
@@ -0,0 +1,21 @@
+#
+#    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.
+#
+
+namespace=http://ode.apache.org/test4/process
+service=CanonicServiceForPool
+operation=receiveNPR
+request1=<message><body><receiveNPRRequest xmlns="http://ode.apache.org/test4/process">1</receiveNPRRequest></body></message>

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test2.properties
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test2.properties?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test2.properties (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test2.properties Fri Jul 25 12:46:34 2008
@@ -0,0 +1,21 @@
+#
+#    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.
+#
+
+namespace=http://ode.apache.org/test4/process
+service=CanonicServiceForPool
+operation=receiveCancel
+request1=<message><body><receiveCancelRequest xmlns="http://ode.apache.org/test4/process">1</receiveCancelRequest></body></message>

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.bpel?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.bpel (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.bpel Fri Jul 25 12:46:34 2008
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpel:process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:NPGData="http://www.ode.apache.org/NPG/v1" xmlns:this="http://ode.apache.org/test4/process" xmlns:NPGServices_Abstract="http://www.ode.apache.org/NPG/v1/wsdl" xmlns:diag="http://ode.apache.org/test4" xmlns:Pool="http://ode.apache.org/test4/Pool" xmlns:bpmn="http://www.intalio.com/bpms" xmlns:atomic="http://ode.apache.org/atomicScope" queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" bpmn:label="process" bpmn:id="_Ef3rkFmMEd2BsZsV-epWfA" name="process" targetNamespace="http://ode.apache.org/test4/proc
 ess">
+  <bpel:import namespace="http://ode.apache.org/test4" location="test4.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://ode.apache.org/test4/process" location="test4-process.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:partnerLinks>
+    <bpel:partnerLink name="processAndPoolPlkVar" partnerLinkType="diag:processAndPool" myRole="process_for_Pool"/>
+  </bpel:partnerLinks>
+  <bpel:correlationSets>
+    <bpel:correlationSet name="portIdCorr" properties="this:portIdProp"/>
+  </bpel:correlationSets>
+  <bpel:variables>
+    <bpel:variable name="thisReceiveNPRRequestMsg" messageType="this:receiveNPRRequest"/>
+  </bpel:variables>
+  <bpel:sequence>
+    <bpel:receive partnerLink="processAndPoolPlkVar" portType="this:ForPool" operation="receiveNPR" variable="thisReceiveNPRRequestMsg" createInstance="yes">
+      <bpel:correlations>
+        <bpel:correlation set="portIdCorr" initiate="yes"/>
+      </bpel:correlations>
+    </bpel:receive>
+
+    <bpel:scope name="SubProcess_C81ZcFm2Ed2BsZsV-epWfA" bpmn:label="SubProcess" bpmn:id="_C81ZcFm2Ed2BsZsV-epWfA">
+      <bpel:variables>
+        <bpel:variable name="thisReceive3RequestMsg" messageType="this:receive3Request"/>
+        <bpel:variable name="thisReceive2RequestMsg" messageType="this:receive2Request"/>
+      </bpel:variables>
+      <bpel:faultHandlers>
+        <bpel:catch faultName="this:cancel">
+          <bpel:scope name="SubProcess_eO1BoFnPEd2xsdtTaIB7mA" bpmn:label="SubProcess" bpmn:id="_eO1BoFnPEd2xsdtTaIB7mA">
+            <bpel:sequence>
+              <bpel:empty bpmn:label="stop" bpmn:id="_sR3bYFnLEd2xsdtTaIB7mA"/>
+            </bpel:sequence>
+          </bpel:scope>
+        </bpel:catch>
+      </bpel:faultHandlers>
+      <bpel:eventHandlers>
+        <bpel:onEvent partnerLink="processAndPoolPlkVar" portType="this:ForPool" operation="receiveCancel" messageType="this:receiveCancelRequest" variable="thisReceiveCancelRequestMsg" bpmn:label="receiveCancel" bpmn:id="_x9bsgFnKEd2xsdtTaIB7mA">
+            <bpel:correlations>
+              <bpel:correlation set="portIdCorr" initiate="no"></bpel:correlation>
+            </bpel:correlations>
+          <bpel:scope name="cancel_8YLNEFnKEd2xsdtTaIB7mA" bpmn:label="cancel" bpmn:id="_8YLNEFnKEd2xsdtTaIB7mA">
+            <bpel:sequence>
+              <bpel:empty bpmn:label="handleCancel" bpmn:id="_8YjAgFnKEd2xsdtTaIB7mA"/>
+              <bpel:throw faultName="this:cancel"/>
+            </bpel:sequence>
+          </bpel:scope>
+        </bpel:onEvent>
+        <!--bpel:onAlarm>
+          <bpel:for>"PT30S"</bpel:for>
+          <bpel:scope name="SubProcess_RM2fcFnXEd2xsdtTaIB7mA" bpmn:label="SubProcess" bpmn:id="_RM2fcFnXEd2xsdtTaIB7mA">
+            <bpel:sequence>
+              <bpel:throw faultName="this:cancel"/>
+            </bpel:sequence>
+          </bpel:scope>
+        </bpel:onAlarm-->
+      </bpel:eventHandlers>
+      <bpel:repeatUntil>
+        <bpel:pick bpmn:label="GatewayEventBasedExclusive" bpmn:id="_iIpO0FmuEd2BsZsV-epWfA">
+          <bpel:onMessage partnerLink="processAndPoolPlkVar" portType="this:ForPool" operation="receive2" variable="thisReceive2RequestMsg" bpmn:label="receive2" bpmn:id="_lHOf0FmuEd2BsZsV-epWfA">
+            <bpel:correlations>
+              <bpel:correlation set="portIdCorr" initiate="no"></bpel:correlation>
+            </bpel:correlations>
+            <bpel:sequence>
+              <bpel:empty name="firstOnMessage"/>
+            </bpel:sequence>
+          </bpel:onMessage>
+          <bpel:onMessage partnerLink="processAndPoolPlkVar" portType="this:ForPool" operation="receive3" variable="thisReceive3RequestMsg" bpmn:label="receive3" bpmn:id="_mcnlcFmuEd2BsZsV-epWfA">
+            <bpel:correlations>
+              <bpel:correlation set="portIdCorr" initiate="no"></bpel:correlation>
+            </bpel:correlations>
+            <bpel:sequence>
+              <bpel:empty name="secondOnMessage"/>
+            </bpel:sequence>
+          </bpel:onMessage>
+        </bpel:pick>
+        <bpel:condition>false()</bpel:condition>
+      </bpel:repeatUntil>
+    </bpel:scope>
+    <bpel:exit bpmn:label="EventEndTerminate" bpmn:id="_5XCLkFmvEd2BsZsV-epWfA"/>
+  </bpel:sequence>
+</bpel:process>

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.wsdl?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.wsdl (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4-process.wsdl Fri Jul 25 12:46:34 2008
@@ -0,0 +1,79 @@
+<?xml version='1.0' encoding='utf-8'?>
+<wsdl:definitions xmlns:Pool="http://ode.apache.org/test4/Pool" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:diag="http://ode.apache.org/test4" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:this="http://ode.apache.org/test4/process" xmlns:NPGServices_Abstract="http://www.ode.apache.org/NPG/v1/wsdl" xmlns:NPGData="http://www.ode.apache.org/NPG/v1" targetNamespace="http://ode.apache.org/test4/process">
+    <wsdl:types>
+        <xs:schema elementFormDefault="qualified" targetNamespace="http://ode.apache.org/test4/process">
+            <xs:element name="receiveCancelRequest" type="xs:string"/>
+            <xs:element name="receiveNPRRequest" type="xs:string"/>
+            <xs:element name="receive3Request" type="xs:string"/>
+            <xs:element name="receive2Request" type="xs:string"/>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="receiveCancelRequest">
+        <wsdl:part name="body" element="this:receiveCancelRequest"/>
+    </wsdl:message>
+    <wsdl:message name="receiveNPRRequest">
+        <wsdl:part name="body" element="this:receiveNPRRequest"/>
+    </wsdl:message>
+    <wsdl:message name="receive3Request">
+        <wsdl:part name="body" element="this:receive3Request"/>
+    </wsdl:message>
+    <wsdl:message name="receive2Request">
+        <wsdl:part name="body" element="this:receive2Request"/>
+    </wsdl:message>
+    <wsdl:portType name="ForPool">
+        <wsdl:operation name="receiveCancel">
+            <wsdl:input message="this:receiveCancelRequest" name="receiveCancel"/>
+        </wsdl:operation>
+        <wsdl:operation name="receiveNPR">
+            <wsdl:input message="this:receiveNPRRequest" name="receiveNPR"/>
+        </wsdl:operation>
+        <wsdl:operation name="receive3">
+            <wsdl:input message="this:receive3Request" name="receive3"/>
+        </wsdl:operation>
+        <wsdl:operation name="receive2">
+            <wsdl:input message="this:receive2Request" name="receive2"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CanonicBindingForPool" type="this:ForPool">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="receiveCancel">
+            <soap:operation style="document" soapAction="http://ode.apache.org/test4/process/ForPool/receiveCancel"/>
+            <wsdl:input name="receiveCancel">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="receiveNPR">
+            <soap:operation style="document" soapAction="http://ode.apache.org/test4/process/ForPool/receiveNPR"/>
+            <wsdl:input name="receiveNPR">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="receive3">
+            <soap:operation style="document" soapAction="http://ode.apache.org/test4/process/ForPool/receive3"/>
+            <wsdl:input name="receive3">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="receive2">
+            <soap:operation style="document" soapAction="http://ode.apache.org/test4/process/ForPool/receive2"/>
+            <wsdl:input name="receive2">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CanonicServiceForPool">
+        <wsdl:port name="canonicPort" binding="this:CanonicBindingForPool">
+            <soap:address location="http://localhost:8080/ode/processes/NPG072408_4/test4/process/Pool"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <vprop:property name="portIdProp" type="xs:string"/>
+    <vprop:propertyAlias propertyName="this:portIdProp" messageType="this:receiveNPRRequest" part="body">
+    </vprop:propertyAlias>
+    <vprop:propertyAlias propertyName="this:portIdProp" messageType="this:receive2Request" part="body">
+    </vprop:propertyAlias>
+    <vprop:propertyAlias propertyName="this:portIdProp" messageType="this:receive3Request" part="body">
+    </vprop:propertyAlias>
+    <vprop:propertyAlias propertyName="this:portIdProp" messageType="this:receiveCancelRequest" part="body">
+    </vprop:propertyAlias>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4.wsdl?rev=679884&view=auto
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4.wsdl (added)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestOnEventThrow/test4.wsdl Fri Jul 25 12:46:34 2008
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='utf-8'?>
+<wsdl:definitions xmlns:process="http://ode.apache.org/test4/process"
+                  xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+                  xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                  targetNamespace="http://ode.apache.org/test4">
+    <wsdl:import namespace="http://ode.apache.org/test4/process" location="test4-process.wsdl"/>
+    <pnlk:partnerLinkType name="processAndPool">
+        <pnlk:role name="process_for_Pool" portType="process:ForPool"/>
+    </pnlk:partnerLinkType>
+</wsdl:definitions>
\ No newline at end of file