Hi All,
I got this error, using ODE 1.1 with ServiceMix 3.1 :
ERROR [pool-6-thread-3] (GeronimoLog.java:108) - Method "run" in class
"org.apache.ode.bpel.runtime.ASSIGN" threw an unexpected exception.
java.lang.IllegalArgumentException: null parent
at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:745)
at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:740)
at
org.apache.ode.bpel.runtime.ScopeFrame.getPartData(ScopeFrame.java:271)
at
org.apache.ode.bpel.runtime.ScopeFrame.fetchVariableData(ScopeFrame.java:222)
at
org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVariable(ExprEvaluationContextImpl.java:91)
at
org.apache.ode.bpel.elang.xpath10.runtime.JaxenContexts.getVariableValue(JaxenContexts.java:173)
at org.jaxen.ContextSupport.getVariableValue(ContextSupport.java:224)
at org.jaxen.Context.getVariableValue(Context.java:185)
at
org.jaxen.expr.DefaultVariableReferenceExpr.evaluate(DefaultVariableReferenceExpr.java:121)
at org.jaxen.expr.DefaultPathExpr.evaluate(DefaultPathExpr.java:148)
at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:112)
at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:688)
at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:227)
at
org.apache.ode.bpel.elang.xpath10.runtime.XPath10ExpressionRuntime.evaluate(XPath10ExpressionRuntime.java:98)
at
org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80)
at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:194)
The related bpel assign is :
<assign name="d25_tanslated_mesh_filename">
<copy>
<from xmlns:grid="http://www.a-ware.org/jbi/xsd/grid"
xmlns:mail="http://www.a-ware.org/grid/applications/maillatools-2_0/xsd">$n4_maillatools_data_out.body/grid:outfiles/grid:file[1]</from>
<to
xmlns:grid="http://www.a-ware.org/jbi/xsd/grid">$n5_fileTransfer_data_in.body/grid:src</to>
</copy>
</assign>
If I understand correctly, the error means that the part of the wsdl
message associated to $n4_maillatools_data_out is null.
The variable is :
<variable name="n4_maillatools_data_out"
messageType="mai:maillatools-2_0Output"/>
and the wsdl message:
<wsdl:message name="maillatools-2_0Output">
<wsdl:part element="ns0:maillatools-2_0.response" name="body">
</wsdl:part>
</wsdl:message>
The code I use to create the response message of the service, which
replies to ODE is:
MessageExchange mex;
ServiceMixClient client;
org.w3c.dom.Document rep = this.handleReply(um.getTask());
javax.jbi.messaging.NormalizedMessage out = this.mex.createMessage();
out.setProperty(PojoMarshaler.BODY, rep);
out.setContent(new DOMSource(rep));
this.mex.setMessage(out, "out");
client.sendSync(this.mex);
Do you know what is it wrong ?
Any help is appreciated.
Thanks and Regards,
Claudio Cacciari
--
----------------------------------------
Claudio Cacciari - [EMAIL PROTECTED]
System and Technology Department
CINECA - http://www.cineca.it