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]

Reply via email to