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]