This error occurs when trying to change an invoice status to ready:
Error calling event: org.ofbiz.webapp.event.EventHandlerException: Service invocation error (No transaction manager or invalid status)

The setInvoiceStatus eca rule at applications/accounting/servicedef/secas_olap.xml seems to be causing the problem. The event="global-commit-post-run" which is handled differently by the runAction service of framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java. Events with prefix "global-" create a ServiceXaWrapper with its active field set to false by default which is never set to true before the enlist() method is called which requires the status to be active.

I'm not very familiar with what is going on in the code but according to the GenericXaResource extended ServiceXaWrapper, the active field doesn't get set to true unless the start method is called. Should a call to the start method of the ServiceXaWrapper be added after being created?

Reply via email to