• Welcome to KonaKart Community Forum. Please login or sign up.
 

KKException: OrderTotal?

Started by chekmate, December 23, 2008, 03:27:31 am

Previous topic - Next topic

chekmate

I've been working locally with KK for a couple weeks, trying to get a storefront ready for a live server. In general I've been able to solve errors and exceptions, but haven't had luck with this one.

Running one page checkout, no registration required. I am checking out using a customer who already exists (e-mail is in the database) but not logging in. i.e. Just filling out the first checkout delivery address form and letting it change my password etc. It gets to the order confirmation page fine, but when I click to submit, I get the following exception in the browser window (not the Tomcat window):

The details of the malfunction are :

Exception Name = com.konakart.app.KKException
Exception Message = The order must contain at least one OrderTotal object
Exception Stack Trace =
at com.konakart.bl.OrderMgr.saveOrder(Unknown Source)
at com.konakart.app.KKEng.saveOrder(Unknown Source)
at com.konakart.al.OrderMgr.saveOrder(Unknown Source)
at com.konakart.actions.CheckoutConfirmationSubmitAction.execute(CheckoutConfirmationSubmitAction.java:144)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)


I thought maybe just restarting the server would do it, because it seemed to work once, but then the problem occurred again later. Also, just now I hit back, tried again, and was taken to the payment page and checkout finally completed, but then my next test order has come up against the same error.

I am working on this from home and hitting a remote database server through a VPN, so network connectivity is a bit laggy. I wonder if that might be related.

Any help would be appreciated.

trevor

I've never witnessed this problem. The exception is saying that the engine cannot save an order without any OrderTotal objects. If in the order confirmation screen you are seeing the order totals (i.e. shipping, tax, sub total, total etc.) then it could have something to do with the communication channel although I imagine that your KK engine is local so it seems strange, because this is a check that it makes before attempting to write to the DB.

chekmate

Yeah, the KK server is my local machine and the database server is on the network (currently going extra "distance" through the VPN). Without being able to get into the code that threw that error, I guess I'll just have to wait and test it again when I get back to a more normal network scenario.