Hi Greetings,
This post is related to my previous post, which occurred during the
invocation of a BPEL component. My simple BPEL tries to invoke 2 other
partners in a series.
<process name="HelloWorld"
targetNamespace="http://helloworld"
xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="http://helloworld"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:helloworld="http://helloworld"
xmlns:greetings="http://greetings"
xmlns:tax="http://tax.tcc.com/tax"
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
<import location="helloworld.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://helloworld"/>
<import location="../greetings/greetings.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://greetings"/>
<import location="../tax/proftax.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://tax.tcc.com/tax"/>
<partnerLinks>
<partnerLink name="helloPartnerLink"
partnerLinkType="helloworld:HelloPartnerLinkType" myRole="me" />
<partnerLink name="greetingsPartnerLink"
partnerLinkType="greetings:GreetingsPartnerLinkType" partnerRole="Provider"
initializePartnerRole="yes" />
<partnerLink name="taxPartnerLink" partnerLinkType="tax:TaxPartnerLinkType"
partnerRole="Provider2" initializePartnerRole="yes" />
</partnerLinks>
<variables>
<variable name="helloMessage" messageType="helloworld:HelloMessage"/>
<variable name="helloResponse" messageType="helloworld:HelloMessage"/>
<variable name="greetingsRequest"
messageType="greetings:getGreetingsRequest"/>
<variable name="greetingsResponse"
messageType="greetings:getGreetingsResponse"/>
<variable name="taxRequest" messageType="tax:getTaxRequest"/>
<variable name="taxResponse" messageType="tax:getTaxResponse"/>
</variables>
<sequence>
<receive
name="start"
createInstance="yes"
operation="hello"
variable="helloMessage"
partnerLink="helloPartnerLink"
portType="helloworld:HelloWorld" />
<assign name="assignToGreetingsRequest">
<copy>
<from>$helloMessage.TestPart</from>
<to>$greetingsRequest.parameters</to>
</copy>
</assign>
<invoke name="invokeGreetings"
operation="getGreetings"
inputVariable="greetingsRequest"
outputVariable="greetingsResponse"
partnerLink="greetingsPartnerLink"
portType="greetings:Greetings" />
<assign name="assignToTaxRequest">
<copy>
<from>$greetingsResponse.parameters/greetings:getGreetingsReturn</from>
<to>$taxRequest.parameters</to>
</copy>
</assign>
<invoke name="invokeTax"
operation="getTax"
inputVariable="taxRequest"
outputVariable="taxResponse"
partnerLink="taxPartnerLink"
portType="tax:Tax" />
<assign name="assignToHelloResponse">
<copy>
<from>$taxResponse.parameters/tax:getTaxReturn</from>
<to>$helloResponse.TestPart</to>
</copy>
</assign>
<reply name="end"
operation="hello"
partnerLink="helloPartnerLink"
portType="helloworld:HelloWorld"
variable="helloResponse"/>
</sequence>
</process>
Each of this invocations from BPEL will work fine separately, but if try to
invoke them in a series, as shown in the figure i'm getting some exception
in the console.
org.apache.ode.bpel.iapi.ContextException: Unable to register synchronizer.
at
org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(SimpleScheduler.java:206)
at
org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(SimpleScheduler.java:364)
at
org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:232)
at
org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsync(PartnerRoleMessageExchangeImpl.java:126)
at
org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFailure(PartnerRoleMessageExchangeImpl.java:97)
at
org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1.call(ODEExternalService.java:166)
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)
DuCaused by: java.lang.NullPointerException
at
org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(SimpleScheduler.java:194)
... 10 more
During googling, I came across a post which describes a similar situation,
http://mail-archives.apache.org/mod_mbox/tuscany-dev/200811.mbox/%[email protected]%3e
but I'm not able to resolve this issue, Is there any fix available to this
issue?
Best regards,
Santhosh
On Jun 26, 2009 11:11pm, [email protected] wrote:
Hi simon,
Thanks for the reply, I could find some errors in my BPEL, still I'm
facing some issues. Now my eclipse console looks like
org.apache.ode.bpel.iapi.ContextException: Unable to register
synchronizer.
at
org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(SimpleScheduler.java:206)
at
org.apache.ode.scheduler.simple.SimpleScheduler.addTodoOnCommit(SimpleScheduler.java:364)
at
org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:232)
at
org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsync(PartnerRoleMessageExchangeImpl.java:126)
at
org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.replyWithFailure(PartnerRoleMessageExchangeImpl.java:97)
at
org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService$1$1.call(ODEExternalService.java:166)
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)
Caused by: java.lang.NullPointerException
at
org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(SimpleScheduler.java:194)
... 10 more
Can you please give me some clue to solve this error?
Best regards,
Santhosh
On Jun 23, 2009 1:55pm, Simon Laws [email protected]> wrote:
> Hi Santhosh
>
>
>
> This kind of error usually means that the service that the BPEL is
>
> calling has returned an error of some kind. The error handling in
>
> impl.bpel is not very good at the moment and needs improvement hence
>
> this rather opaque output.
>
>
>
> It seems to be going wrong on the call out to the sayHelloPartnerLink.
>
> Can you check that that is properly wired in the SCA composite. If it
>
> is are you able to look at the HTTP requests going between the BPEL
>
> and this partner? That should give you a clue about what is going on.
>
>
>
> Regards
>
>
>
> Simon
>