By the way, shouldn't ReadGraphOut value look like below?
ReadGraphOut init value:
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">
<graphRdOut
xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">READ_test123</graphRdOut>
</ReadGraphResponse>
or like this:
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB">
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">
<graphRdOut
xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">READ_test123</graphRdOut>
</ReadGraphResponse>
</ReadGraphResponse>
or like this:
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB">
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">
<graphRdOut>READ_test123</graphRdOut>
</ReadGraphResponse>
</ReadGraphResponse>
Darek
-------- Wiadomos'c' oryginalna --------
Temat: Re: Error: null parent exception in bpel assignLink...
Data: Thu, 24 Jul 2008 14:43:42 +0200
Nadawca: Dariusz Dziadek <[EMAIL PROTECTED]>
Adresat: [email protected]
Odniesienia: <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
Hi,
Below are the states of viariables at the moment when error occured (see
attached servicemix.log):
DoAnalyzeIn value is correct:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<payload>
<typens:AnalyzeGraph
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:typens="http://www.softwaremind.pl/WKI/WP4-test/TestScenario1/types">
<typens:graphIdIn>test123</typens:graphIdIn>
</typens:AnalyzeGraph>
</payload>
</message>
ReadGraphIn value is correct:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<payload>
<ReadGraph xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">
<graphIdRdIn>test123</graphIdRdIn>
</ReadGraph>
</payload>
</message>
Invoking ReadGraph operation at endpoint:
<?xml version="1.0" encoding="UTF-8"?>
<service-ref>
<jbi:end-point-reference jbi:end-point-name="KBPort"
jbi:service-name="sns:KBService"
xmlns:sns="http://www.softwaremind.pl/WKI/WP4-test/KB"/>
</service-ref>
with parameter value:
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraph>
<graphIdRdIn>test123</graphIdRdIn>
</ReadGraph>
and the result message is correct:
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB">
<graphRdOut
xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">READ_test123</graphRdOut>
</ReadGraphResponse>
ReadGraphOut init value is CORRECT(!!!):
<?xml version="1.0" encoding="UTF-8"?>
<ReadGraphResponse xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB">
<graphRdOut
xmlns="http://www.softwaremind.pl/WKI/WP4-test/KB/types">READ_test123</graphRdOut>
</ReadGraphResponse>
AnalyzeGraphIn value is correct:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<payload>
<AnalyzeGraph
xmlns="http://www.softwaremind.pl/WKI/WP4-test/GraphAnalyzer/types">
<graphIdIn>test123</graphIdIn>
<ns5:graphIn
xmlns:ns5="http://www.softwaremind.pl/WKI/WP4-test/GraphAnalyzer/types"/>
</AnalyzeGraph>
</payload>
</message>
But ODE can't read ReadGraphOut variable by
$ReadGraphOut.payload/ns3:graphRdOut selection :(
Any idea why?
Darek
Matthieu Riou pisze:
2008/7/23 Dariusz Dziadek <[EMAIL PROTECTED]>:
*Hi!
I'm using Apache ODE 1.2 with ServiceMix 3.2.1. I got an error during
accessing output variable (after invoking WS in BPEL process):*
That's fairly strange, it looks like a DOM level error where the node
structure is not correct. It's raised in the following assignment (when ODE
reads the content of the incoming message variable):
<copy>
<from>$ReadGraphOut.payload/ns3:graphRdOut</from>
<to>$AnalyzeGraphIn.payload/ns5:graphIn</to>
</copy>
Also is your process persistent or in memory?
Thanks,
Matthieu
15:43:26,567 | DEBUG | pool-4-thread-35 | BpelEventListener |
mon.evt.DebugBpelEventListener 50 |
VariableReadEvent:
Type = dataHandling
VarName = ReadGraphOut
ScopeId = 2401
ScopeDeclarationId = 3
ScopeName = __PROCESS_SCOPE:TestScenario1BPEL
ParentScopesNames = [__PROCESS_SCOPE:TestScenario1BPEL]
ProcessInstanceId = 2351
ProcessId = {urn:/TestScenario1.bpel}TestScenario1BPEL-6
ProcessName = {urn:/TestScenario1.bpel}TestScenario1BPEL
Timestamp = Wed Jul 23 15:43:26 CEST 2008
LineNo = 15
Class = class org.apache.ode.bpel.evt.VariableReadEvent
15:43:26,567 | ERROR | pool-4-thread-35 | JacobVPU |
b.vpu.JacobVPU$JacobThreadImpl 463 | 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:275)
at
org.apache.ode.bpel.runtime.ScopeFrame.fetchVariableData(ScopeFrame.java:215)
at
org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVariable(ExprEvaluationContextImpl.java:92)
at
org.apache.ode.bpel.elang.xpath10.runtime.JaxenContexts.getVariableValue(JaxenContexts.java:173)
at org.jaxen.ContextSupport.getVariableValue(ContextSupport.java:217)
at org.jaxen.Context.getVariableValue(Context.java:178)
at
org.jaxen.expr.DefaultVariableReferenceExpr.evaluate(DefaultVariableReferenceExpr.java:107)
at org.jaxen.expr.DefaultPathExpr.evaluate(DefaultPathExpr.java:139)
at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)
at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:680)
at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:219)
at
org.apache.ode.bpel.elang.xpath10.runtime.XPath10ExpressionRuntime.evaluate(XPath10ExpressionRuntime.java:103)
at
org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80)
at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:196)
at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:348)
at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:81)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:835)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:402)
at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
15:43:26,567 | ERROR | pool-4-thread-35 | BpelEngineImpl |
ode.bpel.engine.BpelEngineImpl 335 | Scheduled job failed;
jobDetail={mexid=hqejbhcnphr3gdiohpk3re, iid=2351, type=INVOKE_RESPONSE,
channel=20}
java.lang.RuntimeException: java.lang.IllegalArgumentException: null parent
at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:835)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:402)
at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: 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:275)
at
org.apache.ode.bpel.runtime.ScopeFrame.fetchVariableData(ScopeFrame.java:215)
at
org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVariable(ExprEvaluationContextImpl.java:92)
at
org.apache.ode.bpel.elang.xpath10.runtime.JaxenContexts.getVariableValue(JaxenContexts.java:173)
at org.jaxen.ContextSupport.getVariableValue(ContextSupport.java:217)
at org.jaxen.Context.getVariableValue(Context.java:178)
at
org.jaxen.expr.DefaultVariableReferenceExpr.evaluate(DefaultVariableReferenceExpr.java:107)
at org.jaxen.expr.DefaultPathExpr.evaluate(DefaultPathExpr.java:139)
at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)
at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:680)
at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:219)
at
org.apache.ode.bpel.elang.xpath10.runtime.XPath10ExpressionRuntime.evaluate(XPath10ExpressionRuntime.java:103)
at
org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80)
at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:196)
at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:348)
at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:81)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
... 15 more
*For more clues please refer to attachment that includes servicemix.log
file (DEBUG mode) and my test ServiceUnit (with WSDL and BPEL files).
(logs are starting when I'm sending SOAP message with test123 value by HTTP
BC component)
Have you got any ideas? Any help is appreciated.
Thanks and best regards,
Darek
*