On Wed, Nov 26, 2008 at 3:29 PM, Matthieu Riou <[EMAIL PROTECTED]>wrote:
> On Mon, Nov 24, 2008 at 8:38 AM, Simon Laws <[EMAIL PROTECTED]>wrote: > >> I'm creating a sample app that has a BPEL component [1]. >> >> [DEBUG] - GeronimoLog.debug(66) | >>> Payload: <?xml version="1.0" >> encoding="UTF-8"?> >> <Authorize xmlns="http://www.example.org/CreditCardPayment/" xmlns:ccp=" >> http://www.example.org/CreditCardPayment/"> >> <ccp:CreditCard> >> <ccp:CreditCardType>Visa</ccp:CreditCardType> >> >> <ccp:CreditCardNumber>12345678</ccp:CreditCardNumber> >> <ccp:ExpMonth>2</ccp:ExpMonth> >> <ccp:ExpYear>2010</ccp:ExpYear> >> <ccp:CardOwner> >> <ccp:Name>Fred</ccp:Name> >> <ccp:Address> >> <ccp:Street>1 The Road</ccp:Street> >> <ccp:City>Winchester</ccp:City> >> <ccp:State>Hampshire</ccp:State> >> <ccp:ZipCode>AB1 2CD</ccp:ZipCode> >> >> <ccp:HomePhone>12345678</ccp:HomePhone> >> </ccp:Address> >> </ccp:CardOwner> >> </ccp:CreditCard> >> <ccp:Amount>100.0</ccp:Amount> >> </Authorize> >> [ERROR] - GeronimoLog.error(108) | Error sending message >> (mex={PartnerRoleMex#hqejbhcnphr3rx2u9wt9hq [PID { >> http://www.example.org/PaymentProcess}PaymentProcess-1<http://www.example.org/PaymentProcess%7DPaymentProcess-1>] >> calling null.authorize(...)}): Unable to register synchronizer. >> 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:132) >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) >> at java.lang.Thread.run(Thread.java:619) >> Caused by: java.lang.NullPointerException >> at >> org.apache.ode.scheduler.simple.SimpleScheduler.registerSynchronizer(SimpleScheduler.java:194) >> ... 10 more >> >> Anyone seen this before? It comes from [2] >> >> try { >> tx.registerSynchronization(new Synchronization() { >> >> public void afterCompletion(int status) { >> >> >> if (status == Status.STATUS_COMMITTED) { >> _todo.enqueue(job); >> } >> } >> >> public void beforeCompletion() { >> } >> >> >> }); >> >> } catch (Exception e) { >> String errmsg = "Unable to registrer synchronizer. "; >> __log.error(errmsg, e); >> throw new ContextException(errmsg, e); >> >> >> } >> >> So would seem to be associated with the way the transaction context is set >> up in ODE. Anyone know how the component configuration could affect this? On >> the face of it my sample is very similar to the bpel-helloworld itests >> (which run fine) except that the target interfaces have more complicated >> types. Other than that I'm not doing anything particularly complicated >> although I have to say the number of files you have to set up to get this >> working does leave a large element of doubt that they are all correct. >> > > Welcome to BPEL :) From your stacktrace, the most likely issue is that the > transaction manager doesn't return any transaction. It's hard to tell > exactly why but the common case is that you have a previous error that > caused an invalidation of the current context. > > Matthieu > > >> >> Simon >> >> [1] >> http://svn.apache.org/repos/asf/tuscany/sandbox/travelsample/paymentprocess-contribution/ >> [2] >> http://svn.apache.org/repos/asf/ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java >> >> > Hi Matthieu. Thanks, thought I would give it a spin;-) With more detailed logging turned on I see; [DEBUG] - GeronimoLog.debug(66) | replyWithFailure mex=hqejbhcnphr3s5c8w972kg fa ilureType=OTHER description=org.osoa.sca.ServiceRuntimeException: org.apache.axi s2.AxisFault: Connection refused: connect details=null 15:54:01,781 DEBUG [PartnerRoleMessageExchangeImpl] replyWithFailure mex=hqejbhc nphr3s5c8w972kg failureType=OTHER description=org.osoa.sca.ServiceRuntimeExcepti on: org.apache.axis2.AxisFault: Connection refused: connect details=null [DEBUG] - GeronimoLog.debug(66) | create work event for mex=hqejbhcnphr3s5c8w972 kg 15:54:01,781 DEBUG [PartnerRoleMessageExchangeImpl] create work event for mex=hq ejbhcnphr3s5c8w972kg [ERROR] - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hq ejbhcnphr3s5c8w972kg [PID { http://www.example.org/PaymentProcess}PaymentProcess- 1] calling null.authorize(...)}): Unable to register synchronizer. 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(Simpl eScheduler.java:364) at org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob( SimpleScheduler.java:232) at org.apache.ode.bpel.engine.PartnerRoleMessageExchangeImpl.continueAsy nc(PartnerRoleMessageExchangeImpl.java:126) I was actually expecting the "connection refused" as I don't currently have the target service running. I was just trying to get the BPEL process parsed and initializing the variables correctly in the first instance. Is that actually causing the lack of transactions? Is there more logging I should turn on? Currently I have. log4j.category.org.apache.ode.axis2=OFF log4j.category.org.apache.ode.bpel.engine=DEBUG log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF log4j.category.org.apache.ode.bpel.epr=OFF log4j.category.org.apache.tuscany.sca.implementation.bpel=DEBUG log4j.category.org.apache.tuscany.sca.implementation.bpel.ode=DEBUG log4j.category.org.apache.tuscany.sca.implementation.bpel.provider=DEBUG Thanks Simon Regards Simon
