Title: Message
Hi all:
 
I was taking the webwork2 example application for a spin and I ran into a few problems that are probably due to a mix of my inexperience and its newness.
 
I use the Novell extend application server 5.0 on Windows XP as my dev environment.
 
The first issue was that the application would not run at all due to a NoClassDefFoundError when I first hit the example app after deployment:
------------------------------------------------------------------------------------------------
java.lang.NoClassDefFoundError: com/cortexeb/tools/clover/S
        at com.opensymphony.webwork.example.counter.Counter.<clinit>(Counter.jav
a:14)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.opensymphony.xwork.interceptor.component.ComponentConfiguration.l
oadClass(ComponentConfiguration.java:133)
        at com.opensymphony.xwork.interceptor.component.ComponentConfiguration.c
onfigure(ComponentConfiguration.java:64)
        at com.opensymphony.webwork.lifecycle.SessionLifecycleListener.sessionCr
eated(SessionLifecycleListener.java:50)
        at com.sssw.srv.resources.AgWarListenerManager.sessionCreated(AgWarListe
nerManager.java:285)
        at com.sssw.srv.busobj.AgoHttpRequestEvent.getSession(AgoHttpRequestEven
t.java:1310)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:51)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
 
---------------------------------------------------------------------------------
I resolved this by putting the clover jar from cvs in the lib directory of the webwork-example war.
 
Next, Clicking on the first app, 'Stupid little counter,' displays nothing and generates the following exception:
---------------------------------------------------------------------------------
AgoJspPageContext.handlePageException(javax.servlet.jsp.JspException: An instanc
e 'ww_property_11854491' of custom tag class 'com.opensymphony.webwork.views.jsp
.PropertyTag' returned an illegal value '6' from method 'doStartTag()'.)
javax.servlet.jsp.JspException: An instance 'ww_property_11854491' of custom tag
 class 'com.opensymphony.webwork.views.jsp.PropertyTag' returned an illegal valu
e '6' from method 'doStartTag()'.
        at com.sssw.gen.jsp.success_jsp_1269429284._jspService(success_jsp_12694
29284.java:77)
        at com.sssw.srv.jsp.AgoHttpJspPage.service(AgoHttpJspPage.java:94)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.sssw.srv.busobj.AgoWarServletRequestDispatcher.dispatch(AgoWarSer
vletRequestDispatcher.java:54)
        at com.sssw.srv.busobj.AgoWarRequestDispatcher.forward(AgoWarRequestDisp
atcher.java:104)
        at com.opensymphony.webwork.dispatcher.ServletDispatcherResult.execute(S
ervletDispatcherResult.java:62)
        at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultA
ctionInvocation.java:221)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:161)
        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(Around
Interceptor.java:37)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:149)
        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(Around
Interceptor.java:37)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:149)
        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(Around
Interceptor.java:37)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:149)
        at com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerIn
terceptor.java:66)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:149)
        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(Around
Interceptor.java:37)
        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIn
vocation.java:149)
        at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.
java:121)
        at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet
Dispatcher.java:165)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
AgoJspWriter.flush called
AgoServletOutputStream.flush m_committed=false m_noflush=false
AgoServletOutputStream.commit entered
  [CLI2-3560f56ef72ca55d1234bbe22a0318c2] Replying:
HTTP/1.1 200 OK
Date: Wed, 20 Aug 2003 14:53:19 GMT
Transfer-Encoding: chunked
Content-Type: text/html;charset=ISO-8859-1
Server: exteNd Application Server/100.0
 
AgoServletOutputStream.commit m_mustChunk set to true
AgoHttpReplyEvent.sendError(500, Error while forwarding request to /success.jsp)
 called
AgWarResource.handleError(): Entering handleError with exception = java.lang.Ill
egalStateException, status code = 500 in WAR /SilverStream/Objectstore/Jars/webw
ork-example
java.lang.IllegalStateException: Can't call sendError after response has been co
mmitted
        at com.sssw.srv.busobj.AgoHttpReplyEvent.sendError(AgoHttpReplyEvent.jav
a:565)
        at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet
Dispatcher.java:176)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
AgWarErrorHandler.handleError(): No error handler defined for status or exceptio
n
com.sssw.srv.http.ClientException
com.sssw.shr.http.AgoServletException: The servlet at /SimpleCounter.action in W
AR /SilverStream/Objectstore/Jars/webwork-example generated an exception
java.lang.IllegalStateException: Can't call sendError after response has been co
mmitted
        at com.sssw.srv.busobj.AgoHttpReplyEvent.sendError(AgoHttpReplyEvent.jav
a:565)
        at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet
Dispatcher.java:176)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
  [CLI2-3560f56ef72ca55d1234bbe22a0318c2]       Leave: ClientException com.sssw.
shr.http.AgoServletException: The servlet at /SimpleCounter.action in WAR /Silve
rStream/Objectstore/Jars/webwork-example generated an exception
com.sssw.srv.http.ClientException
com.sssw.shr.http.AgoServletException: The servlet at /SimpleCounter.action in W
AR /SilverStream/Objectstore/Jars/webwork-example generated an exception
java.lang.IllegalStateException: Can't call sendError after response has been co
mmitted
        at com.sssw.srv.busobj.AgoHttpReplyEvent.sendError(AgoHttpReplyEvent.jav
a:565)
        at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet
Dispatcher.java:176)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
com.sssw.shr.http.AgoServletException: The servlet at /SimpleCounter.action in W
AR /SilverStream/Objectstore/Jars/webwork-example generated an exception
java.lang.IllegalStateException: Can't call sendError after response has been co
mmitted
        at com.sssw.srv.busobj.AgoHttpReplyEvent.sendError(AgoHttpReplyEvent.jav
a:565)
        at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet
Dispatcher.java:176)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
---------------------------------------------------------------------------------
The velocity based 'stupid' counter (example 2) works just fine.
 
But, the third example, stupid little counter called via ww:action tag results in the following:
 
 
---------------------------------------------------------------------------------------
com.sssw.shr.http.AgoServletException: The servlet at /action.jsp in WAR /Silver
Stream/Objectstore/Jars/webwork-example generated an exception
javax.servlet.jsp.JspException: An instance 'ww_param_31952838' of custom tag cl
ass 'com.opensymphony.webwork.views.jsp.ParamTag' returned an illegal value '6'
from method 'doStartTag()'.
        at com.sssw.gen.jsp.action_jsp_1850734735._jspService(action_jsp_1850734
735.java:85)
        at com.sssw.srv.jsp.AgoHttpJspPage.service(AgoHttpJspPage.java:94)
        at com.sssw.srv.busobj.AgoFilterChain.doServlet(AgoFilterChain.java:394)
 
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:180)
        at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:61)
        at com.sssw.srv.busobj.AgoFilterChain.doFilter(AgoFilterChain.java:141)
        at com.sssw.srv.resources.AgWarResource.service(AgWarResource.java:629)
        at com.sssw.srv.resources.AgWarURLResource.perform(AgWarURLResource.java
:113)
        at com.sssw.srv.http.httpd.perform(httpd.java:5610)
        at com.sssw.srv.http.Client.processRequest(Client.java:905)
        at com.sssw.srv.http.Client.loop(Client.java:1271)
        at com.sssw.srv.http.Client.runConnection(Client.java:1487)
        at com.sssw.srv.http.Client.run(Client.java:1435)
        at java.lang.Thread.run(Unknown Source)
-----------------------------------------------------------------------------------------------------------------
 
The iterator tag example gives the same error of the PropertyTag returning 6. I truncated the stack trace below. The RequestLifecyclefilter also causes an IllegalStateException becuase it tries to change the header of the response to an error after some of the response has been flushed. It's the exact same kind of error that resulted form the first 'stupid little counter' example.
 
Has anyone else had these problems? I'd like to get started with WebWork2 as I am migrating away form struts, but should I stick with Webwork1 for the time being?
 
Thanks and sorry for the huge stacktraces,
Amir
 
 
Amir T. Brown
Web Developer
p: 919 376 4489
f:  919 872 1440

Alphanumeric Systems, Inc

 

<<attachment: logo.gif>>

Reply via email to