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) {


Reply via email to