Author: vanto
Date: Tue Jul 31 09:10:11 2007
New Revision: 561373
URL: http://svn.apache.org/viewvc?view=rev&rev=561373
Log:
fixes ODE-150
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?view=diff&rev=561373&r1=561372&r2=561373
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
Tue Jul 31 09:10:11 2007
@@ -52,6 +52,7 @@
import org.apache.ode.bpel.memdao.ProcessInstanceDaoImpl;
import org.apache.ode.bpel.o.OMessageVarType;
import org.apache.ode.bpel.o.OMessageVarType.Part;
+import org.apache.ode.bpel.o.OElementVarType;
import org.apache.ode.bpel.o.OPartnerLink;
import org.apache.ode.bpel.o.OProcess;
import org.apache.ode.bpel.o.OScope;
@@ -1203,18 +1204,15 @@
}
public Node getPartData(Element message, Part part) {
- Element partEl = DOMUtils.findChildByName((Element) message, new
QName(null, part.name), false);
+ // borrowed from ASSIGN.evalQuery()
+ QName partName = new QName(null, part.name);
+ Node ret = DOMUtils.findChildByName((Element) message, partName);
+ if (part.type instanceof OElementVarType) {
+ QName elName = ((OElementVarType) part.type).elementType;
+ ret = DOMUtils.findChildByName((Element) ret, elName);
+ }
- // This could occur if the message does not contain the required part.
- if (partEl == null)
- return null;
-
- Node container = DOMUtils.getFirstChildElement(partEl);
- if (container == null)
- container = partEl.getFirstChild(); // either a text node / element
- // /
- // xsd-type-wrapper
- return container;
+ return ret;
}
public Element getSourceEPR(String mexId) {