Author Topic: javax.servlet.jsp.JspException: Cannot find bean konakartKey in any scope  (Read 22723 times)

dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Hello,

  I have working Konakart (4.2.0.0) as a Portlet in Liferay (5.2.3) and works quite well, but always always always in the his/her first visit reads
"javax.servlet.jsp.JspException: Cannot find bean konakartKey in any scope".

  If they press refresh everythings works fine.

  Any idea?.


  Thanks.

      David.



 

trevor

  • Administrator
  • Hero Member
  • *****
  • Posts: 530
    • View Profile
    • KonaKart
Can you supply a link to the application ?

dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Hi trevor,

   Not yet, I'm sorry.


   Could be the problem related to cookies?.


   Thanks,

     David.


   

trevor

  • Administrator
  • Hero Member
  • *****
  • Posts: 530
    • View Profile
    • KonaKart
No, I don't think so.

dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile

 Have you ever seen this error before in Konakart as portlet?.

 I have been looking for informatation related to the problem and the most frecuent reply is about "automatic versus manual instalation", but that is not my case. I installed Konakart with next steps:

  • ./bin/ant make_liferay_portlet_war
  • ./bin/ant make_admin_liferay_portlet_war -Djbossliferay=true
  • Change  "dbname" in : dbname?zeroDateTimeBehavior=convertToNull   with my  database name
  • Check configuration in konakartadmin to setup paths
  • and... to install as a portlet in Liferay



  David.



trevor

  • Administrator
  • Hero Member
  • *****
  • Posts: 530
    • View Profile
    • KonaKart
No I haven't.

dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile

 Did you check Konakart  (KonaKart-4.2.0.1-Linux-Install) as portlet with "liferay-portal-tomcat-6.0-5.2.3". I'm working with MySQL-server-community-5.4.1-0 ?.

 Do you know how "konakartKey" is used?, or can you point me to some documentation about it?.


 Thanks again.

  David.

trevor

  • Administrator
  • Hero Member
  • *****
  • Posts: 530
    • View Profile
    • KonaKart
In the JSPs you can see:

<bean:define id="kkEng" name="konakartKey" type="com.konakart.al.KKAppEng"/>

It expects to find a KonaKart client engine in the session using the key "konakartKey". As you can see in the BaseAction class, this will be created whenever a struts action is called. In your case it looks as if it doesn't exist and so the JSP is complaining.

dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile

Thank you Trevor, the problem is fixed.

I have not working with one Konakart portlet, I have "portletized" each Konakart functionality one by one, and to do it I created new Actions (void actions) for some funtionalities, for example BestSellers or the Tree Categories but I forgot to call "MyNewAction.getKKAppEng(request, response);" to initialize the "konakartKey" property.


Please, be sure I will send a public link to the aplication, and some contributions about "making Konakart portletized" and "working with Liferay and Konakart Contexts".

Thank you for Konakart, good job.


trevor

  • Administrator
  • Hero Member
  • *****
  • Posts: 530
    • View Profile
    • KonaKart
Quote
Please, be sure I will send a public link to the aplication, and some contributions about "making Konakart portletized" and "working with Liferay and Konakart Contexts".

I'm sure that the KonaKart Community would appreciate that  :)

Sony George

  • Full Member
  • ***
  • Posts: 87
    • View Profile
This happens because either robots or a direct hit to the following URL

http://www.konakart.com/konakart/ForgotPassword.do

the ForgotPassword.do does not have action class, instead tiles are used......
so the BaseAction's getKKAppEng() method is never called
and "konakartKey" is never stored in the session

a simple work around is just create a simple action class
and edit the struts-config.xml file

ForgotPasswordAction.java is attached

and instead of config in struts-config.xml
Code: [Select]
<action path="/ForgotPassword" forward="/CatalogForgotPasswordPage.do">
<forward name="Login" path="/LogIn.do"/>
</action>


use this

Code: [Select]

                <action path="/ForgotPassword" type="com.konakart.actions.ForgotPasswordAction">
<forward name="Login" path="/CatalogForgotPasswordPage.do"/>
</action>




dnavarro

  • Jr. Member
  • **
  • Posts: 23
    • View Profile

Thanks Sony!.