Tuesday, January 25, 2011

Internal Server Error during Order Process

Internal Server Error or HTTP error 500. Any time you see this error, it generally means web server is not able to fulfill the request.
Scenario: The B2B system that I was working on talks to SAP for order fullfillment and placement. clicking order review, it was throwing exception during invocation of method "flush" on bean "BeanId(WC_LIVE#Enablement-BaseComponentsData.jar#ServerJDBCHelper, null)". Exception data: javax.ejb.EJBException: nested exception is: javax.ejb.EJBException: executeUpdate returned zero rows updated.

All the energies were spent from checking DB locks to implementation of optimistic locking to double click handler on client/server but finally figured out the problem was if the response was not within 40 sec(ServerOTimeout="40") webserver was marking appserver down and it was throwing internal server error.
we Increased the serverIPTimeout to 300 seconds in plugin-cfg.xml
Before: LoadBalanceWeight="20", ServerIOTimeout="40"
After: LoadBalanceWeight="2", ServerIOTimeout="300

1 comment: