I'm working on finalizing the support to have references to SCA components in a BPEL process. Currently, the reference get invoked, but when ODE engine is trying to process the results, looks like it does not find the contents of the reply message. Based on some code available in ODE, I guess I'm doing the proper schedule/transaction steps, but it would be good to have a second opinion here and maybe some help to see what's going wrong.
Below you will see a stack trace of the problem. And to reproduce it, please invoke the HelloWorldTestCase available in the Tuscany itests : sca/bpel/helloworld-reference module. The BPEL support is available in sca/modules/implementation-bpel. DEBUG - GeronimoLog.debug(66) | Invoking a partner operation: getGreetings >>> Invoking a partner operation: getGreetings >>> <?xml version="1.0" encoding="UTF-8"?> <message><parameters><getGreetings xmlns="http://greetings"><message xmlns="http://helloworld">Luciano</message></getGreetings></parameters></message> >>> <?xml version="1.0" encoding="UTF-8"?> <message xmlns="http://helloworld">Luciano</message> >>> Result : <?xml version="1.0" encoding="UTF-8"?> <return>Hello Luciano</return> ::result message:: <?xml version="1.0" encoding="UTF-8"?> <message><getGreetingsResponse><return>Hello Luciano</return></getGreetingsResponse></message> java.lang.IllegalArgumentException: null parent at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:740) at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:735) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.getPartData(BpelRuntimeContextImpl.java:1213) at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.fetchVariableData(BpelRuntimeContextImpl.java:421) at org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVariable(ExprEvaluationContextImpl.java:85) at org.apache.ode.bpel.elang.xpath20.runtime.JaxpVariableResolver.resolveVariable(JaxpVariableResolver.java:93) at net.sf.saxon.xpath.JAXPVariable.evaluateVariable(JAXPVariable.java:117) at net.sf.saxon.expr.VariableReference.evaluateVariable(VariableReference.java:244) at net.sf.saxon.expr.VariableReference.iterate(VariableReference.java:217) at net.sf.saxon.xpath.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:256) at org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime.evaluate(XPath20ExpressionRuntime.java:179) at org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime.evaluate(XPath20ExpressionRuntime.java:97) at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80) at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:193) at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:356) at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:79) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) 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:836) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:336) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:318) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:364) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:335) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:334) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:173) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:333) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:330) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) DEBUG - GeronimoLog.debug(66) | Processing an async reply from service {http://helloworld}HelloWorldService Status: FAULT -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
