Author: mriou
Date: Wed Aug 16 14:38:18 2006
New Revision: 432041

URL: http://svn.apache.org/viewvc?rev=432041&view=rev
Log:
Fixed a pretty tricky bug on EPR initialization.

Modified:
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java

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?rev=432041&r1=432040&r2=432041&view=diff
==============================================================================
--- 
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
 Wed Aug 16 14:38:18 2006
@@ -424,6 +424,12 @@
                                               boolean isMyEPR) throws 
FaultException {
         PartnerLinkDAO pl = fetchPartnerLinkDAO(pLink);
         Element epr = (isMyEPR ? pl.getMyEPR() : pl.getPartnerEPR());
+        if (epr != null) System.out.println("### EPR from DB " + 
DOMUtils.domToString(epr));
+
+        if (epr == null && isMyEPR)
+            epr = _bpelProcess.getInitialMyRoleEPR(pLink.partnerLink);
+        if (epr == null && !isMyEPR)
+            epr = _bpelProcess.getInitialPartnerRoleEPR(pLink.partnerLink);
 
         if (epr == null) {
             throw new FaultException(
@@ -480,7 +486,7 @@
     public Element writeEndpointReference(PartnerLinkInstance variable,
                                           Element data) throws FaultException {
         PartnerLinkDAO eprDAO = fetchPartnerLinkDAO(variable);
-        Element originalEprElmt = eprDAO.getPartnerEPR();
+        Element originalEprElmt = fetchEndpointReferenceData(variable, false);
 
         if (__log.isDebugEnabled()) {
             __log.debug("Writing endpoint reference " + 
variable.partnerLink.getName() +
@@ -518,6 +524,9 @@
             throws FaultException {
         PartnerLinkDAO pl = fetchPartnerLinkDAO(pLink);
         Element myRoleEpr = pl.getMyEPR();
+        if (myRoleEpr == null)
+            myRoleEpr = _bpelProcess.getInitialMyRoleEPR(pLink.partnerLink);
+
         if (myRoleEpr == null) throw new FaultException(
                 _bpelProcess._oprocess.constants.qnUninitializedPartnerRole,
                 "Endpoint reference for myRole on partner link " + 
pLink.partnerLink.getName() + " isn't initialized!");


Reply via email to