You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Si Chen (JIRA)" <ji...@apache.org> on 2006/11/29 01:01:26 UTC

[jira] Updated: (OFBIZ-503) Fixed Service invocation error: (commit transaction failed) error messages to include actual message

     [ http://issues.apache.org/jira/browse/OFBIZ-503?page=all ]

Si Chen updated OFBIZ-503:
--------------------------

    Attachment: ofbiz503.patch

> 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
>         Attachments: ofbiz503.patch
>
>
> 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