Hi Luciano, Maybe this helps a bit: I had a look into your test case. I think the transaction is OK, it's just seems that the result message is not assembled correctly - the debug output says (formatted for better readability):
::result message:: <?xml version="1.0" encoding="UTF-8"?> <message> <getGreetingsResponse> <return>Hello Luciano</return> </getGreetingsResponse> </message> but the BPEL afterwards wants to read a <parameters> elements from this response: <assign name="assignToHelloResponse"> <copy> <from>$greetingsResponse.parameters</from> <to>$helloResponse.TestPart</to> </copy> </assign> When I change this to (just for a test, I know that it's not correct ;-) <from>$greetingsResponse</from> the test case at least receives a result, but cannot find the expected string value: junit.framework.ComparisonFailure: expected:<Hello Luciano> but was:<> at junit.framework.Assert.assertEquals(Assert.java:81) at junit.framework.Assert.assertEquals(Assert.java:87) at helloworld.HelloWorldTestCase.testServiceInvocation(HelloWorldTestCase.java:61) However, I'm not sure at which point in the process is the error - I'm a bit confused about how which part of the WSDLs relate to which parts of the messages and interfaces (-; I keep trying ... Cheers, Juergen > -----Original Message----- > From: Luciano Resende [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 17, 2008 5:30 PM > To: [EMAIL PROTECTED]; tuscany-dev > Subject: BPEL & SCA References > > 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></pa > rameters></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.fetchVariabl > eData(BpelRuntimeContextImpl.java:421) > at > org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.readVari > able(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(VariableR > eference.java:244) > at > net.sf.saxon.expr.VariableReference.iterate(VariableReference. > java:217) > at > net.sf.saxon.xpath.XPathExpressionImpl.evaluate(XPathExpressio > nImpl.java:256) > at > org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRun > time.evaluate(XPath20ExpressionRuntime.java:179) > at > org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRun > time.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(DelegatingMeth > odAccessorImpl.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(Bpel > RuntimeContextImpl.java:836) > at > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelPro > cess.java:336) > at > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelE > ngineImpl.java:318) > at > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelS > erverImpl.java:364) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(Simpl > eScheduler.java:335) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(Simpl > eScheduler.java:334) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransactio > n(SimpleScheduler.java:173) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleS > cheduler.java:333) > at > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleS > cheduler.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(ThreadP > oolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolE > xecutor.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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]