Folks,
I have found the cause of the error which is due to some new features added to ProcessConf interface
of ODE which are not well documented. I am working on a fix now and I hope to be able to commit
this later today. Tuscany has its own implementation of ProcessConf and I made some guesses about
the values it should return, given not much documentation. I guessed wrong.
The guesses cause a NPE during the cleanup phase which unfortunately happens deep in the ODE Engine
in places that are horribly difficult to debug due to transaction managers and thread pools.
I feel like the last week has been "death by ODE" - give me "death by
chocolate" any day ;-)
This fix should apply to both 1.x and 2.x - I will post if more than
TuscanyProcessConfImpl is affected.
Yours, Mike.
Mike Edwards wrote:
Folks,
The rollback seems to occur because of a null pointer exception which I
believe is something to do with the return of the response message from
the BPEL process. It may be that the response message ends up with no
data being returned and the null pointer occurs when the dereference of
that data is done. Why there is no data is a mystery at the moment -
the BPEL process appears to execute just fine...
But anyway - the point I am trying to get over is that the
RollbackException is a symptom of a deeper problem.
This stuff is REALLY hard to debug because of multi-threading and async
handoffs of work items between threads, plus timeouts all over the
place....
Yours, Mike.