views:

343

answers:

3

Hi

I have been developing a small project meant to run under weblogic 8.1. Richfaces according to documentation states that it supports weblogic 8.1.

Weblogic 8.1 uses servlet specification 2.3 with jsp 1.2 This has been working on my locally installed version of weblogic 8.1 but when deploying to the sparc server, I start running into trouble. I have worked through some of the initial headaches, but then I got an error 500 and couldnt get the details. But after some effort I have come out with this...

javax.servlet.ServletException: javax/servlet/jsp/JspContext
        at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:344)
        at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
        at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

JspContext is not part of jsp 1.2 it's newer. I am thinking this exception is originally a ClassNotFoundException or something similar considering the message. There is no 'cause' attached to the exception.

Following are the jar files contained in my web-application.

antlr-2.7.6.jar
asm-1.5.3.jar
asm-attrs-1.5.3.jar
cglib-2.1_3.jar
commons-beanutils-1.6.jar
commons-collections-3.2.jar
commons-digester-1.5.jar
commons-lang-2.4.jar
commons-logging-1.0.3.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
hibernate-3.2.4.sp1.jar
jsf-api-1.1_02.jar
jsf-impl-1.1_02.jar
jstl-1.0.jar
jta-1.1.jar
log4j-1.2.15.jar
richfaces-api-3.1.6.SR1.jar
richfaces-impl-3.1.6.SR1.jar
richfaces-ui-3.1.6.SR1.jar
xercesImpl-2.9.1.jar
xml-apis-1.3.04.jar

I'm running out of options, I'll be trying to figure out who has the dependency on the JspContext class... but if someone could give me some insight it would be greatly appreciated. Oh, I cannot make many changes to the production web-logic server. I'd prefer not to make any at all, chances are those changes will be denied

Oh this error occurs when attempting to view the page, so deployment is successful.

+1  A: 

jsp-api-2.1.jar contains the missing class, so you could try using it (either replace it in weblogic, or try in your /lib), but I can't predict what would happen.

Bozho
strange how the uat server fell over when I did that. I'm going to try and mess around with this idea, but I agree... results could be sketchy. Thanx
The problem with weblogic 8.1 is ... it still runs jdk 1.4 :( and unless I build my own version of jsp-api-2.1, it not gonna work.Thank you though
+2  A: 

Ok, I have solved my problem. Not the way I wanted to but it's working (atleast to what I know right now).

After using google (again) I found a comment with someone mentioning using richfaces 3.0.1. Now I have seen many people say use version xxx even 3.3.x. After all I did get it working with 3.1.6 but on the windows version of weblogic (which could have possibly been tainted by some other weblogic version I have installed).

So I have modified my pom for maven to depend on:

            <groupId>org.richfaces</groupId>
            <artifactId>richfaces</artifactId>
            <version>3.0.1</version>

This is not optimal, but I geuss it works. Some taglibrary references needed changing, and packages changed to some extent.

I could post my project configuration for this if anyone ever needs it. Getting this all to work on weblogic 8.1 was not straight forward. But the reference documentation for 3.1.6 is to my knowledge incorrect by saying it support weblogic 8.1

The documentation of RichFaces 3.3.x (clearly states that RichFaces requires WebLogic 9.1 or 10.0 (http://docs.jboss.org/richfaces/3.3.2.GA/en/devguide/html/TechnicalRequirements.html). I think they introduced something in 3.1.6 (or earlier) that broke Weblogic 8.1 support without updating the documentation. Thanks for the feedback.
Pascal Thivent
A: 

I have similar problems making weblogic 8.1 (java 1.4 and jsf 1.2) work with richfaces or ajax4jsf, can you post your project configuration?

thanks

dave
I am not sure if I have the original configuration. I just have to dig around a bit, or I could re-create it for you.Do you use maven? If I find the pom I used I can send it to you.But I'm willing to help. I'll have something for you tomorrow only though.