Reg : org.apache.sling.api.scripting.ScriptEvaluationException | Community
Skip to main content
October 16, 2015
Solved

Reg : org.apache.sling.api.scripting.ScriptEvaluationException

  • October 16, 2015
  • 5 replies
  • 4124 views

I am trying to create  CQ OSGi bundle that consumes a third-party web service.  I'm getting the below exception while accessing the pages.

org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class

 

An error occurred at line: 5 in the jsp file: /apps/stoxx/components/content/weather/weather.jsp

com.cdyne.ws.weatherws.Weather cannot be resolved to a type

2: <h1><%= properties.get("title", currentPage.getTitle()) %></h1>

3: <%

4: 

5: com.cdyne.ws.weatherws.Weather ww = new com.cdyne.ws.weatherws.Weather();

6: 

7: com.cdyne.ws.weatherws.WeatherSoap ws = ww.getWeatherSoap();

8: 

 

 

An error occurred at line: 5 in the jsp file: /apps/stoxx/components/content/weather/weather.jsp

com.cdyne.ws.weatherws.Weather cannot be resolved to a type

2: <h1><%= properties.get("title", currentPage.getTitle()) %></h1>

3: <%

4: 

5: com.cdyne.ws.weatherws.Weather ww = new com.cdyne.ws.weatherws.Weather();

6: 

7: com.cdyne.ws.weatherws.WeatherSoap ws = ww.getWeatherSoap();

8: 

 

 

An error occurred at line: 7 in the jsp file: /apps/stoxx/components/content/weather/weather.jsp

com.cdyne.ws.weatherws.WeatherSoap cannot be resolved to a type

4: 

5: com.cdyne.ws.weatherws.Weather ww = new com.cdyne.ws.weatherws.Weather();

6: 

7: com.cdyne.ws.weatherws.WeatherSoap ws = ww.getWeatherSoap();

8: 

9: com.cdyne.ws.weatherws.WeatherReturn wr = ws.getCityWeatherByZIP("95101");

10: 

 

 

An error occurred at line: 9 in the jsp file: /apps/stoxx/components/content/weather/weather.jsp

com.cdyne.ws.weatherws.WeatherReturn cannot be resolved to a type

6: 

7: com.cdyne.ws.weatherws.WeatherSoap ws = ww.getWeatherSoap();

8: 

9: com.cdyne.ws.weatherws.WeatherReturn wr = ws.getCityWeatherByZIP("95101");

10: 

11: %>

12: 

 

      at org.apache.sling.scripting.jsp.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)

      at org.apache.sling.scripting.jsp.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)

      at org.apache.sling.scripting.jsp.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:419)

      at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:313)

      at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:291)

      at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:278)

      at org.apache.sling.scripting.jsp.jasper.JspCompilationContext.compile(JspCompilationContext.java:599)

      at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)

      at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:59)

      at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:233)

      at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.java:85)

      at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:453)

      at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)

      at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:170)

      at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:456)

      at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:500)

      at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)

      at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)

      at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:183)

      at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:150)

      at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)

      at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:219)

      at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60) . . . . . .  . . . .

I also restarted the “ Apache Sling Scripting JSP support” and “Apache Sling Dynamic Class Loader Support” bundles. No luck J

Could anyone please tell what could be the problem?

Thanks,

Anderson

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Ojjis

Did you try ti import  "com.cdyne.ws.weatherws.*" Instead? 

I don't really know anything about that third-party web service but I came across some problems when using one of my own services from a different bundle.
The thing that I had to do then was to make use of the following: 
 

MyService myService = sling.getService(MyService.class);


but that might not help in your case..

I also saw that Scott Macdonald had written some great notes about this, can probably be worth reading for you!
http://scottsdigitalcommunity.blogspot.se/2012/05/creating-adobe-cq-bundles-that-consume.html

5 replies

Ojjis
OjjisAccepted solution
Level 7
October 16, 2015

Did you try ti import  "com.cdyne.ws.weatherws.*" Instead? 

I don't really know anything about that third-party web service but I came across some problems when using one of my own services from a different bundle.
The thing that I had to do then was to make use of the following: 
 

MyService myService = sling.getService(MyService.class);


but that might not help in your case..

I also saw that Scott Macdonald had written some great notes about this, can probably be worth reading for you!
http://scottsdigitalcommunity.blogspot.se/2012/05/creating-adobe-cq-bundles-that-consume.html

October 16, 2015

Yes Ojjis, it could not import Weather class itself. I am getting the below error.

org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 19 in the generated java file Only a type can be imported. com.cdyne.ws.weatherws.Weather resolves to a package

The Weather class available in that jar file and the  bundle status is also Active when i check the bundle status in osgi console. Please find the attached screen shot for your reference and kindly do let me know if anything wrong.

 

Thanks,

Anderson

October 16, 2015

Hi,

I have checked the bundle status in bundle console. It has the same folder structure. Please find the attached snap and let know what could be the problem.

Now i am getting the below exception

org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class

An error occurred at line: 5 in the jsp file: /apps/stoxx/components/content/weather/weather.jsp

com.cdyne.ws.weatherws.Weather cannot be resolved to a type

2: <%= properties.get("title", currentPage.getTitle()) %>

3: <%

4: 

5: com.cdyne.ws.weatherws.Weather ww = new com.cdyne.ws.weatherws.Weather();

Thanks.

smacdonald2008
Level 10
October 16, 2015

This means that your server-side bundle that contains the Java proxy classes that consume the web service is not deployed to Adobe CQ. Make sure that your OSGi bundle is deployed and in a running state. Once running -- you will see it from the OSGi console and it will resemble this illustration....

 

[img]WSOSGIView.png[/img]

Once this is running -- you can invoke it from a client web page. All the steps -- including how to create and deploy the OSGi bundle -- to get this CQ web service app up and running are specified in this development article: http://scottsdigitalcommunity.blogspot.ca/2012/05/creating-adobe-cq-bundles-that-consume.html

Ojjis
Level 7
October 16, 2015

Hi, sounds like something might be wrong with the finding of the class.
Just to check, is the class imported correctly on the .jsp page ?
<%@page import="com.cdyne.ws.weatherws.Weather"%>
/Johan