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

Exception thrown when editing an order's address

Started by erockx, January 17, 2011, 09:45:17 pm

Previous topic - Next topic

erockx

Users of our Kona Kart installation are unable to edit the delivery address when they place an order.  When they try, they get the exception below.  In the attached screen shot you'll notice there's no zone (State, Province, or Territory) field.  The zones, zones_to_geo_zones, and geo_zones tables are empty.  Is there any way to get a text field to display for the zone so the user can input it themselves?


    com.konakart.app.KKException: The String parameter called zoneDesc must be given a value. It cannot be set to null or be left empty.
    Exception Stack Trace =
    at com.konakart.app.KKCustomEng.addAddressToCustomer(Unknown Source)
    at com.konakart.al.CustomerMgr.addAddressToCustomer(Unknown Source)
    at com.konakart.server.KKGWTServiceImpl.addAddressToCustomer(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)

    Exception Cause =
    at com.konakart.bl.BaseMgr.checkRequired(Unknown Source)
    at com.konakart.bl.TaxMgr.getZonePerCountryAndCode(Unknown Source)
    at com.konakart.bl.CustomerMgr.addAddressToCustomer(Unknown Source)
    at com.konakart.app.KKEng.addAddressToCustomer(Unknown Source)
    at com.konakart.app.AddAddressToCustomer.addAddressToCustomer(Unknown Source)
    at com.konakart.app.KKCustomEng.addAddressToCustomer(Unknown Source)
    at com.konakart.al.CustomerMgr.addAddressToCustomer(Unknown Source)
    at com.konakart.server.KKGWTServiceImpl.addAddressToCustomer(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)


Thanks,
Eric

trevor

That's the way our standard implementation works. The user enters a state and during the registration process we save it as is, if the country has no states defined. If it does have states then we try to match it by name or code (i.e. TX or Texas) . If we find no match, then an exception is thrown and we display a drop list of states for the user to choose from.

Obviously this process can be changed. Many of our users show a list of states by default for the country where the store is based.