Hello,
we installed KonaKart manually on a Tomcat application server (5.5.23) and an MySQL 5.x.
The administration application works fine. However when trying to access the KonaKart application itself we do get the following error message and a strange screen (see attachment).
14-Aug 22:39:20 ERROR (ApplicationDispatcher.java:invoke:723) Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Define tag cannot set a null value for bean with id: allManu
at org.apache.struts.taglib.bean.DefineTag.doEndTag(DefineTag.java:236)
at org.apache.jsp.WEB_002dINF.jsp.SearchByManufacturerTile_jsp._jspService(SearchByManufacturerTile_jsp.java:157)
....
Hi,
This is due to some start-up differences between tomcat 5.5.23 and the tomcat we include in our install packages which is 5.5.17.
There's a simple solution however... see this thread: http://www.konakart.com/forum/index.php/topic,50.msg224.html#msg224
It's also fixed in the 2.2.0.6 release.
Regards,
John
Hello John,
thanks to your help, one problem down. However now I am confronted with a new one while trying to add an article to the basket:
Exception Name = com.konakart.app.KKException
Exception Message = org.apache.torque.TorqueException: java.sql.SQLException: Incorrect arguments to mysql_stmt_execute
Exception Stack Trace =
at com.konakart.app.KKEng.addToBasket(KKEng.java:759)
Does KonaKart rely on MySql to have transaction support? Or does it also work with the myisam engine? Do I have any chance to see the SQL-statement in question?
Regards
\Fabian
Hi Fabian,
I always use InnoDB to get the transaction support. I'd definitely recommend it. I didn't know that it gave you errors with MyISAM, but this could well be the problem here.
You can turn on log flags to see SQL statements and to see what's happening inside the code - check this forum post: http://www.konakart.com/forum/index.php/topic,46.msg240.html#msg240
However, you will need to set the logging in konakart rather than in konakartadmin (as described in the post referred to above), so for ease of reference and one changed path name, this is what you need to do:
Try settiing these and restarting tomcat:
log4j.logger.org.apache.torque.util.BasePeer = DEBUG
log4j.logger.com.konakart = DEBUG
log4j.logger.com.konakartadmin = DEBUG
(Set these in webapps/konakart/WEB-INF/classes/konakart-logging.properties)
(The first one will tell you about the queries being executed the other two are for general KonaKart logging).
Good luck,
John
Hello John,
the error does not relate to MyISAM or InnoDB table types.
After enabling debugging I see the following messages, when trying to add something to a basket:
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT specials.specials_new_products_price, specials.status
, specials.expires_date, products_to_categories.categories_id, products.products_date_added, products.products_date_avai
lable, products.products_id, products.products_image, products.products_model, products.products_price, products.product
s_ordered, products.products_quantity, products.products_status, products.products_weight, products.products_tax_class_i
d, products.custom1, products.custom2, products.custom3, products.custom4, products.custom5, manufacturers.manufacturers
_name, manufacturers.manufacturers_id, products_description.products_name, products_description.products_url, products_d
escription.products_viewed, products_description.products_description FROM products LEFT JOIN specials ON products.produ
cts_id=specials.products_id LEFT JOIN products_to_categories ON products.products_id=products_to_categories.products_id
LEFT JOIN manufacturers ON products.manufacturers_id=manufacturers.manufacturers_id, products_description WHERE products
.products_id=products_description.products_id AND products_description.language_id=1 AND products.products_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=1 ms
15-Aug 15:52:31 DEBUG (ProductMgr.java:getProduct:357) getProduct Query2 = SELECT COUNT(reviews.reviews_id) FROM reviews
WHERE reviews.products_id=2 GROUP BY reviews.products_id
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT COUNT(reviews.reviews_id) FROM reviews WHERE reviews.
products_id=2 GROUP BY reviews.products_id
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=1 ms
15-Aug 15:52:31 DEBUG (ProductMgr.java:getProduct:390) getProduct Query3 = SELECT products_attributes.options_values_pri
ce, products_attributes.price_prefix, products_options.products_options_name, products_options.products_options_id, prod
ucts_options_values.products_options_values_name, products_options_values.products_options_values_id FROM products_attri
butes, products_options, products_options_values WHERE products_attributes.options_id=products_options.products_options_
id AND products_attributes.options_values_id=products_options_values.products_options_values_id AND products_options.lan
guage_id=1 AND products_options_values.language_id=1 AND products_attributes.products_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT products_attributes.options_values_price, products_at
tributes.price_prefix, products_options.products_options_name, products_options.products_options_id, products_options_va
lues.products_options_values_name, products_options_values.products_options_values_id FROM products_attributes, products
_options, products_options_values WHERE products_attributes.options_id=products_options.products_options_id AND products
_attributes.options_values_id=products_options_values.products_options_values_id AND products_options.language_id=1 AND
products_options_values.language_id=1 AND products_attributes.products_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=1 ms
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT customers.customers_id, customers.customers_firstname
, customers.customers_lastname, customers.customers_dob, customers.customers_email_address, customers.customers_default_
address_id, customers.customers_fax, customers.customers_gender, customers.customers_newsletter, customers.customers_tel
ephone, customers.custom1, customers.custom2, customers.custom3, customers.custom4, customers.custom5, customers_info.gl
obal_product_notifications FROM customers, customers_info WHERE customers.customers_id=customers_info.customers_info_id
AND customers.customers_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=1 ms
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT address_book.address_book_id, address_book.entry_coun
try_id, address_book.entry_zone_id FROM address_book WHERE address_book.customers_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=0 ms
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:902) SQL: SELECT customers_basket.customers_basket_id, customers_baske
t.customers_basket_date_added, customers_basket.customers_basket_quantity, customers_basket.final_price, customers_baske
t.products_id FROM customers_basket WHERE customers_basket.products_id='2{4}3{3}6' AND customers_basket.customers_id=2
15-Aug 15:52:31 DEBUG (BasePeer.java:executeQuery:903) Elapsed time=0 ms
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:629) Save column customers_basket.customers_id value = 2
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:629) Save column customers_basket.products_id value = 2{4}3{3}
6
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:629) Save column customers_basket.customers_basket_quantity va
lue = 1
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:629) Save column customers_basket.final_price value = 489.9900
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:629) Save column customers_basket.customers_basket_date_added
value = 20070815
15-Aug 15:52:31 DEBUG (BasePeer.java:insertOrUpdateRecord:648) Save record = {'null','2','2{4}3{3}6','1','489.9900','200
70815'}
I guess the last line includes the issue. Do you have any ideas what might be wrong?
Thanks and regards,
\Fabian
Hi Fabian,
I'm not sure at the moment.. I can't reproduce this.
Would you be able to run the wizard installer, (on Windows or Linux), creating the database in that process, and see if you can reproduce the problem? At least we might narrow down the problem this way.
Are you able to reproduce the problem on our online demo? http://www.konakart.com:8090/konakart
Can you tell me the steps you are taking to get this error? Do you get the problem only when trying to add products with options?
John
Hello John,
i can reproduce this error whenever I try to add an item to the basket. Your online demo works fine.
Maybe you can send me the MySQL-SQL-script the wizard uses to burnfh [-AT-] componio.net and I will try this one.
I have not used the wizard yet - will try that tonight if everything else fails.
The steps leading to the error:
- Select the Matrox card from the "What´s new" section
- Then click on the "Add to cart" icon
After that I receive the following Stack Trace:
Exception Name = com.konakart.app.KKException
Exception Message = org.apache.torque.TorqueException: java.sql.SQLException: Incorrect arguments to mysql_stmt_execute
Exception Stack Trace =
at com.konakart.app.KKEng.addToBasket(KKEng.java:759)
at com.konakart.al.BasketMgr.addToBasket(BasketMgr.java:148)
at com.konakart.actions.AddToCartSubmitAction.execute(AddToCartSubmitAction.java:96)
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.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
Exception Cause = org.apache.torque.TorqueException
at org.apache.torque.util.BasePeer.throwTorqueException(BasePeer.java:106)
at org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:653)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:531)
at com.konakart.bl.BasketMgr.addToBasket(BasketMgr.java:239)
at com.konakart.bl.BasketMgr.addToBasket(BasketMgr.java:177)
at com.konakart.app.KKEng.addToBasket(KKEng.java:752)
at com.konakart.al.BasketMgr.addToBasket(BasketMgr.java:148)
at com.konakart.actions.AddToCartSubmitAction.execute(AddToCartSubmitAction.java:96)
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.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
\Fabian
Hi Fabian,
You will find the script in the zip file that you downloaded for your manual install. The file to load is:
database/MySQL-4.1/konakart_demo.sql
John
Hello,
already made a fresh install with this script - no cure :-(
\Fabian
Hi Fabian,
Not sure exactly what you mean by that... did you run the wizard install, populating the database during installation, and then still got the same error?
Or did you run that konakart_demo.sql script against your database alone and got the error again after re-running your manually-installed version?
BTW, what operating system are you running on? is it KonaKart v2.2.0.4?, and which version of MySQL 5.what?
John
Hello John,
Quote from: john on August 15, 2007, 04:46:47 pm
Not sure exactly what you mean by that... did you run the wizard install, populating the database during installation, and then still got the same error?
Or did you run that konakart_demo.sql script against your database alone and got the error again after re-running your manually-installed version?
I dropped the original database and re-ran the konakart_demo.sql script resulting in the same issue.
Quote
BTW, what operating system are you running on? is it KonaKart v2.2.0.4?, and which version of MySQL 5.what?
SuSE Linux 10.2, KonaKart 2.2.0.4, MySQL 5.0.18
Regards,
Fabian
Hi Fabian,
Would it be possible to move up to a newer version of MySQL? I know I've used 5.0.27, 5.0.45, 5.0.22 successsfully, but I don't think I've tried ever 5.0.18
I don't know why it might be a problem but it would be helpful if we could eliminate this possibility.
John
Hello John,
confirmed. Indeed the problem is solved when using the latest MySQL release (5.0.45)!
Thanks for your support and quick answers!
\Fabian
Fabian,
That's a relief. I'm sorry it took so many iterations.
Thanks for your perseverance :)
It seems the problem was probably related to creating automatic identity keys on MySQL 5.0.18... although I find this quite surprising as we used to run fine on much earlier versions of MySQL... Never mind that for now...
Good luck,
John
Hello John,
you are very welcome. I am the one who has to be thankful for your quick support.
Instead of opening a new thread I have a completely different question:
We are developing for OpenCms, which is an open source content management system.
As konakart offers a SOAP interface I wonder what would be the easiest way to integrate a list of articles into a CMS page.
Do you offer documentation on SOAP and WSDL in regard of konakart?
Thank you once again,
Fabian
Quote from: john on August 16, 2007, 02:52:27 pm
Fabian,
That's a relief. I'm sorry it took so many iterations.
Thanks for your perseverance :)
It seems the problem was probably related to creating automatic identity keys on MySQL 5.0.18... although I find this quite surprising as we used to run fine on much earlier versions of MySQL... Never mind that for now...
Good luck,
John
Hi Fabian,
It is exretmely interesting to hear of your OpenCms involvement as we have been speaking with the OpenCms people about providing an open source KonaKart module for OpenCMS. We think there could be a great deal of interest from the OpenCms community.
Please can you write to us directly about this - to enquiries @ konakart . com for us to take the discussion further.
To answer your questions briefly on the SOAP and WSDL... there is a simple code example in the FAQs at http://www.konakart.com/apiexamplesfaq.php#HowDoIUseKonaKartsSOAPWebServiceInterface and WSDL definitions at http://www.konakart.com/konakart/services/KKWebServiceEng?wsdl (Application WSDL) and at http://www.konakart.com/konakartadmin/services/KKWSAdmin?wsdl (Admin WSDL).
We look forward to hearing from you,
John