Fixed Service invocation error: (commit transaction failed) error messages to 
include actual message
----------------------------------------------------------------------------------------------------

                 Key: OFBIZ-503
                 URL: http://issues.apache.org/jira/browse/OFBIZ-503
             Project: OFBiz (The Open for Business Project)
          Issue Type: Bug
          Components: framework
            Reporter: Si Chen


I guess this has been bugging me for a very long time, so I finally dug through 
it today and fixed it so that sometimes when a SECA service fails, all you get 
back is a

Service invocation error: (commit transaction failed) 

and now it can display the full error message like this:
Error calling event: org.ofbiz.webapp.event.EventHandlerException: Service 
invocation error (Roll back error, could not commit transaction, was rolled 
back instead Service Error [postInvoiceToGl]: Cannot find posting GL account 
for invoice item 
[GenericEntity:InvoiceItem][amount,50000.0(java.lang.Double)][createdStamp,2006-11-28
 14:19:15.065(java.sql.Timestamp)][createdTxStamp,2006-11-28 
14:19:12.55(java.sql.Timestamp)][description,BIG-1 
Server(java.lang.String)][inventoryItemId,null()][invoiceId,10160(java.lang.String)][invoiceItemSeqId,01(java.lang.String)][invoiceItemTypeId,PINV_FXASTPRD_ITEM(java.lang.String)][lastUpdatedStamp,2006-11-28
 14:19:15.065(java.sql.Timestamp)][lastUpdatedTxStamp,2006-11-28 
14:19:12.55(java.sql.Timestamp)][overrideGlAccountId,null()][parentInvoiceId,null()][parentInvoiceItemSeqId,null()][productFeatureId,null()][productId,SERVER1(java.lang.String)][quantity,1.0(java.lang.Double)][taxAuthGeoId,null()][taxAuthPartyId,null()][taxAuthorityRateSeqId,null()][taxableFlag,null()][uomId,null()]
 (null))

The problem it turns out is that TransactionUtil sets a rollback and then sets 
a RollbackOnlyCause in the setRollbackOnlyCause ThreadLocal variable, then when 
the commit tries to rollback, it was not checking for this RollbackOnlyCause.  
I added some code to check if this existed and if so, get the error message 
from it, and now it works.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to