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!");