Author: mriou
Date: Mon Sep 11 10:02:48 2006
New Revision: 442255

URL: http://svn.apache.org/viewvc?view=rev&rev=442255
Log:
Setting the partner channels on PartnerRoleMessageExchange and using it to 
route an invocation to the proper external service. Fixed example DynPartner.

Modified:
    
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerMain.bpel
    
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerResponder.bpel
    incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Main.wsdl
    incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Responder.wsdl
    incubator/ode/trunk/axis2-examples/src/examples/DynPartner/testRequest.soap
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/MessageExchangeContextImpl.java
    incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/OMUtils.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java

Modified: 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerMain.bpel
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerMain.bpel?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerMain.bpel 
(original)
+++ 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerMain.bpel 
Mon Sep 11 10:02:48 2006
@@ -49,13 +49,13 @@
     <assign>
       <copy>
         <!-- Partner link assignment using the value returned by previous 
invoke -->
-        <from variable="partnerEndpoint" part="payload"/>
+        <from>$partnerEndpoint.payload</from>
         <to partnerLink="responderPartnerLink"/>
       </copy>
       <copy>
         <!-- Just needed for correlation -->
         <from>$dummy.payload</from>
-        <to>$dummy2.payload</to>
+        <to variable="dummy2" part="payload"/>
       </copy>
     </assign>
 

Modified: 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerResponder.bpel
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerResponder.bpel?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerResponder.bpel
 (original)
+++ 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/DynPartnerResponder.bpel
 Mon Sep 11 10:02:48 2006
@@ -37,7 +37,7 @@
     <assign>
       <copy>
         <from partnerLink="mainPartnerLink" endpointReference="myRole"/>
-        <to variable="myEndpoint" part="payload"/>
+        <to>$myEndpoint.payload</to>
       </copy>
     </assign>
     <reply name="reply-endpoint" partnerLink="mainPartnerLink"

Modified: incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Main.wsdl
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Main.wsdl?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Main.wsdl 
(original)
+++ incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Main.wsdl Mon 
Sep 11 10:02:48 2006
@@ -29,9 +29,9 @@
   </wsdl:portType>
 
   <wsdl:binding name="DynMainBinding" type="tns:DynMainPortType">
-    <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
+    <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="execute">
-      <soap:operation soapAction="" style="rpc"/>
+      <soap:operation soapAction="" style="document"/>
       <wsdl:input>
         <soap:body namespace="http://ode/bpel/unit-test.wsdl"; use="literal"/>
       </wsdl:input>

Modified: 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Responder.wsdl
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Responder.wsdl?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Responder.wsdl 
(original)
+++ incubator/ode/trunk/axis2-examples/src/examples/DynPartner/Responder.wsdl 
Mon Sep 11 10:02:48 2006
@@ -15,6 +15,7 @@
     <xsd:element name="dummy" type="xsd:string"/>
     <xsd:element name="dummy2" type="xsd:string"/>
     <xsd:element name="acknowledgement" type="xsd:string"/>
+    <xsd:element name="url" type="xsd:string"/>
   </types>
 
   <wsdl:message name="DummyMessage">
@@ -26,7 +27,7 @@
   </wsdl:message>
 
   <wsdl:message name="EndpointMessage">
-    <wsdl:part name="payload" type="xsd:string"/>
+    <wsdl:part name="payload" element="tns:url"/>
   </wsdl:message>
 
 <!--
@@ -51,9 +52,9 @@
   </wsdl:portType>
 
   <wsdl:binding name="DynResponderBinding" type="tns:DynResponderPortType">
-    <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
+    <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="getDynamicEndpoint">
-      <soap:operation soapAction="" style="rpc"/>
+      <soap:operation soapAction="" style="document"/>
       <wsdl:input>
         <soap:body namespace="http://ode/bpel/responder.wsdl"; use="literal"/>
       </wsdl:input>
@@ -62,7 +63,7 @@
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="acknowledge">
-      <soap:operation soapAction="" style="rpc"/>
+      <soap:operation soapAction="" style="document"/>
       <wsdl:input>
         <soap:body namespace="http://ode/bpel/responder.wsdl"; use="literal"/>
       </wsdl:input>

Modified: 
incubator/ode/trunk/axis2-examples/src/examples/DynPartner/testRequest.soap
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-examples/src/examples/DynPartner/testRequest.soap?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- incubator/ode/trunk/axis2-examples/src/examples/DynPartner/testRequest.soap 
(original)
+++ incubator/ode/trunk/axis2-examples/src/examples/DynPartner/testRequest.soap 
Mon Sep 11 10:02:48 2006
@@ -1,10 +1,6 @@
 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
   <!-- test soap message -->
   <SOAP-ENV:Body>
-    <ns1:execute xmlns:ns1="http://ode/bpel/unit-test.wsdl";>
-        <ns2:payload xmlns:ns2="http://ode/bpel/responder.wsdl";>
-            <ns2:dummy>fire!</ns2:dummy>
-        </ns2:payload>
-    </ns1:execute>
+    <ns2:dummy xmlns:ns2="http://ode/bpel/responder.wsdl";>fire!</ns2:dummy>
   </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
 (original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
 Mon Sep 11 10:02:48 2006
@@ -38,9 +38,6 @@
 
 package org.apache.ode.axis2;
 
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
 import org.apache.axis2.AxisFault;
 import org.apache.ode.bpel.iapi.BindingContext;
 import org.apache.ode.bpel.iapi.ContextException;
@@ -48,7 +45,9 @@
 import org.apache.ode.bpel.iapi.Endpoint;
 import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.iapi.PartnerRoleChannel;
-import org.w3c.dom.Element;
+
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
 
 /**
  * AXIS2 implementation of the [EMAIL PROTECTED] 
org.apache.ode.bpel.iapi.BindingContext}
@@ -83,8 +82,7 @@
     public PartnerRoleChannel createPartnerRoleChannel(QName processId, 
DeploymentUnit deploymentUnit,
             PortType portType, Endpoint initialPartnerEndpoint) {
         // NOTE: This implementation assumes that the initial value of the
-        // partner role determines the
-        // binding.
+        // partner role determines the binding.
         return _server.createExternalService(deploymentUnit
                 
.getDefinitionForNamespace(initialPartnerEndpoint.serviceName.getNamespaceURI()),
                 initialPartnerEndpoint.serviceName, 
initialPartnerEndpoint.portName);

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java
 (original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java
 Mon Sep 11 10:02:48 2006
@@ -38,7 +38,6 @@
 import org.apache.ode.bpel.iapi.PartnerRoleChannel;
 import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
 import org.apache.ode.utils.DOMUtils;
-import org.apache.ode.utils.Namespaces;
 import org.w3c.dom.Element;
 
 import javax.wsdl.Definition;
@@ -115,9 +114,11 @@
 
                 final Message response = 
odeMex.createMessage(odeMex.getOperation().getOutput().getMessage().getQName());
                 Element responseElmt = OMUtils.toDOM(reply);
+                responseElmt = SOAPUtils.unwrap(responseElmt, _definition,
+                        odeMex.getOperation().getOutput().getMessage(), 
_serviceName);
                 __log.debug("Received synchronous response for MEX " + odeMex);
                 __log.debug("Message: " + DOMUtils.domToString(responseElmt));
-                response.setMessage(OMUtils.toDOM(reply));
+                response.setMessage(responseElmt);
                 odeMex.reply(response);
             } else
                 serviceClient.fireAndForget(payload);

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/MessageExchangeContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/MessageExchangeContextImpl.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/MessageExchangeContextImpl.java
 (original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/MessageExchangeContextImpl.java
 Mon Sep 11 10:02:48 2006
@@ -21,17 +21,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.epr.EndpointFactory;
-import org.apache.ode.bpel.epr.WSAEndpoint;
 import org.apache.ode.bpel.iapi.BpelEngineException;
 import org.apache.ode.bpel.iapi.ContextException;
-import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.iapi.MessageExchangeContext;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
 import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
-import org.apache.ode.utils.Namespaces;
-
-import javax.xml.namespace.QName;
 
 /**
  * Implementation of the ODE [EMAIL PROTECTED] 
org.apache.ode.bpel.iapi.MessageExchangeContext}
@@ -52,17 +46,19 @@
         if (__log.isDebugEnabled())
             __log.debug("Invoking a partner operation: " + 
partnerRoleMessageExchange.getOperationName());
 
-        EndpointReference epr = 
partnerRoleMessageExchange.getEndpointReference();
-        // We only invoke with WSA endpoints, that makes our life easier
-        if (!(epr instanceof WSAEndpoint))
-            epr = EndpointFactory.convert(new 
QName(Namespaces.WS_ADDRESSING_NS, "EndpointReference"),
-                    epr.toXML().getDocumentElement());
-        // It's now safe to cast
-        QName serviceName = ((WSAEndpoint)epr).getServiceName();
-        String portName = ((WSAEndpoint)epr).getPortName();
-        if (__log.isDebugEnabled())
-            __log.debug("The service to invoke is the external service " + 
serviceName);
-        ExternalService service = _server.getExternalService(serviceName, 
portName);
+//        EndpointReference epr = 
partnerRoleMessageExchange.getEndpointReference();
+//        // We only invoke with WSA endpoints, that makes our life easier
+//        if (!(epr instanceof WSAEndpoint))
+//            epr = EndpointFactory.convert(new 
QName(Namespaces.WS_ADDRESSING_NS, "EndpointReference"),
+//                    epr.toXML().getDocumentElement());
+//        // It's now safe to cast
+//        QName serviceName = ((WSAEndpoint)epr).getServiceName();
+//        String portName = ((WSAEndpoint)epr).getPortName();
+//        if (__log.isDebugEnabled())
+//            __log.debug("The service to invoke is the external service " + 
serviceName);
+//        ExternalService service = _server.getExternalService(serviceName, 
portName);
+
+        ExternalService service = (ExternalService) 
partnerRoleMessageExchange.getChannel();
         service.invoke(partnerRoleMessageExchange);
     }
 

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java 
(original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEService.java 
Mon Sep 11 10:02:48 2006
@@ -237,6 +237,8 @@
         case RESPONSE:
             Element response = SOAPUtils.wrap(mex.getResponse().getMessage(), 
_wsdlDef, _serviceName, mex
                     .getOperation(), 
mex.getOperation().getOutput().getMessage());
+            if (__log.isDebugEnabled()) __log.debug("Received response message 
" +
+                    DOMUtils.domToString(response));
             
msgContext.getEnvelope().getBody().addChild(OMUtils.toOM(response));
             writeHeader(msgContext, mex);
             break;

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/OMUtils.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/OMUtils.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/OMUtils.java 
(original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/OMUtils.java 
Mon Sep 11 10:02:48 2006
@@ -43,7 +43,7 @@
             ByteArrayInputStream bais = new 
ByteArrayInputStream(baos.toByteArray());
             return DOMUtils.parse(bais).getDocumentElement();
         } catch (Exception e) {
-            throw new AxisFault("Unable to read Axis input messag.e", e);
+            throw new AxisFault("Unable to read Axis input message.", e);
         }
     }
 
@@ -56,7 +56,7 @@
             StAXOMBuilder builder = new StAXOMBuilder(parser);
             return builder.getDocumentElement();
         } catch (Exception e) {
-            throw new AxisFault("Unable to read Axis input messag.e", e);
+            throw new AxisFault("Unable to read Axis input message.", e);
         }
     }
 

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
 Mon Sep 11 10:02:48 2006
@@ -113,7 +113,8 @@
                 PortType ptype = plink.partnerRolePortType;
                 Operation op = 
plink.getPartnerRoleOperation(mexdao.getOperation());
                 // TODO: recover Partner's EPR
-                mex = new PartnerRoleMessageExchangeImpl(this, mexdao, ptype, 
op, null, process.getInitialMyRoleEPR(plink));
+                mex = new PartnerRoleMessageExchangeImpl(this, mexdao, ptype, 
op, null,
+                        process.getInitialMyRoleEPR(plink), 
process.getPartnerRoleChannel(plink));
             }
         case MessageExchangeDAO.DIR_PARTNER_INVOKES_MYROLE:
             mex = new MyRoleMessageExchangeImpl(this, mexdao);

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
 Mon Sep 11 10:02:48 2006
@@ -18,22 +18,6 @@
  */
 package org.apache.ode.bpel.engine;
 
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.xml.namespace.QName;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.common.CorrelationKey;
@@ -52,11 +36,11 @@
 import org.apache.ode.bpel.iapi.Endpoint;
 import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.iapi.MessageExchange;
-import org.apache.ode.bpel.iapi.PartnerRoleChannel;
 import org.apache.ode.bpel.iapi.MessageExchange.FailureType;
 import org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern;
 import org.apache.ode.bpel.iapi.MessageExchange.Status;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange.CorrelationStatus;
+import org.apache.ode.bpel.iapi.PartnerRoleChannel;
 import org.apache.ode.bpel.intercept.InterceptorInvoker;
 import org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
 import org.apache.ode.bpel.o.OBase;
@@ -78,6 +62,21 @@
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Text;
 
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.xml.namespace.QName;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * Entry point into the runtime of a BPEL process.
  * 
@@ -778,4 +777,10 @@
         return _pid;
     }
 
+    PartnerRoleChannel getPartnerRoleChannel(OPartnerLink partnerLink) {
+         PartnerLinkPartnerRoleImpl prole = _partnerRoles.get(partnerLink);
+         if (prole == null)
+             throw new IllegalStateException("Unknown partner link " + 
partnerLink);
+         return prole._channel;
+     }
 }

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 Mon Sep 11 10:02:48 2006
@@ -23,7 +23,6 @@
 import org.apache.ode.bpel.common.CorrelationKey;
 import org.apache.ode.bpel.common.FaultException;
 import org.apache.ode.bpel.common.ProcessState;
-import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
 import org.apache.ode.bpel.dao.CorrelationSetDAO;
 import org.apache.ode.bpel.dao.CorrelatorDAO;
 import org.apache.ode.bpel.dao.MessageDAO;
@@ -59,11 +58,11 @@
 import org.apache.ode.bpel.runtime.PartnerLinkInstance;
 import org.apache.ode.bpel.runtime.Selector;
 import org.apache.ode.bpel.runtime.VariableInstance;
+import org.apache.ode.bpel.runtime.channels.ActivityRecoveryChannel;
 import org.apache.ode.bpel.runtime.channels.FaultData;
 import org.apache.ode.bpel.runtime.channels.InvokeResponseChannel;
 import org.apache.ode.bpel.runtime.channels.PickResponseChannel;
 import org.apache.ode.bpel.runtime.channels.TimerResponseChannel;
-import org.apache.ode.bpel.runtime.channels.ActivityRecoveryChannel;
 import org.apache.ode.jacob.JacobRunnable;
 import org.apache.ode.jacob.vpu.ExecutionQueueImpl;
 import org.apache.ode.jacob.vpu.JacobVPU;
@@ -772,8 +771,8 @@
         PartnerRoleMessageExchangeImpl mex = new 
PartnerRoleMessageExchangeImpl(
                 _bpelProcess._engine, mexDao,
                 partnerLink.partnerLink.partnerRolePortType, operation, 
-                partnerEndpoint,
-                myRoleEndpoint);
+                partnerEndpoint, myRoleEndpoint,
+                _bpelProcess.getPartnerRoleChannel(partnerLink.partnerLink));
 
         // If we couldn't find the endpoint, then there is no sense
         // in asking the IL to invoke.

Modified: 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java?view=diff&rev=442255&r1=442254&r2=442255
==============================================================================
--- 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 (original)
+++ 
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 Mon Sep 11 10:02:48 2006
@@ -19,11 +19,6 @@
 
 package org.apache.ode.bpel.engine;
 
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
 import org.apache.ode.bpel.dao.MessageExchangeDAO;
 import org.apache.ode.bpel.engine.WorkEvent.Type;
 import org.apache.ode.bpel.iapi.BpelEngineException;
@@ -31,6 +26,11 @@
 import org.apache.ode.bpel.iapi.Message;
 import org.apache.ode.bpel.iapi.PartnerRoleChannel;
 import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
+import org.w3c.dom.Element;
+
+import javax.wsdl.Operation;
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
 
 class PartnerRoleMessageExchangeImpl extends MessageExchangeImpl implements 
PartnerRoleMessageExchange {
 
@@ -40,10 +40,12 @@
     PartnerRoleMessageExchangeImpl(BpelEngineImpl engine, MessageExchangeDAO 
dao, PortType portType,
             Operation operation, 
             EndpointReference epr,
-            EndpointReference myRoleEPR) {
+            EndpointReference myRoleEPR,
+            PartnerRoleChannel channel) {
         super(engine, dao);
         _myRoleEPR = myRoleEPR;
         setPortOp(portType, operation);
+        _channel = channel;
     }
 
     public void replyOneWayOk() {


Reply via email to