You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Frank Pedroza (JIRA)" <ji...@apache.org> on 2010/03/16 16:30:27 UTC

[jira] Created: (WW-3408) java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;

java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
------------------------------------------------------------------------------------------------------------

                 Key: WW-3408
                 URL: https://issues.apache.org/jira/browse/WW-3408
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.1.8.1, 2.1.8, 2.1.6
            Reporter: Frank Pedroza


I'm trying to write a custom result type that extends StrutsResultSupport.  I have the following line of line that works fine using struts 2.0.14, but throws an exception using 2.1.6 and 2.1.8.1:

{noformat}
HttpServletResponse response = (HttpServletResponse)invocation.getInvocationContext().get(HTTP_RESPONSE);
{noformat}

Here's the exception:

{noformat}
[ERROR] 2010-03-16 08:16:12,934 {http-8080-3} org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dibs-registrar-web].[default] - Servlet.service() for servlet default threw exception
 java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
	at com.xxx.xw.DownloadAttachedFileResult.doExecute(DownloadAttachedFileResult.java:73)
	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
	at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
	at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.xxx.xxx.xw.VitalizeInterceptor.intercept(VitalizeInterceptor.java:44)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.xxx.xxx.xw.RedirectMessageInterceptor.doIntercept(RedirectMessageInterceptor.java:64)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at com.xxx.xxx.xw.VitalizeForInputResultInterceptor.intercept(VitalizeForInputResultInterceptor.java:45)
	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:65)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.xxx.xxx.servlet.CurrentUserInfoFilter.doFilter(CurrentUserInfoFilter.java:70)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.xxx.xxx.servlet.HibernateTXFilter.doFilter(HibernateTXFilter.java:47)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:595)
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (WW-3408) java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;

Posted by "Lukasz Lenart (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WW-3408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart closed WW-3408.
-----------------------------

       Resolution: Not A Problem
    Fix Version/s: 2.2.0
         Assignee: Lukasz Lenart

Please ask question on "Struts Users Mailing List" <us...@struts.apache.org>, I've checked PlainTextResult which bases on StrutsResultSupport and it has exactly the same structure as yours, so in my opinion you have some mismatch with libraries used for developing and for starting application

PlainTextResult - line 128 - XWork Core 2.2.0-SNAPSHOT

HttpServletResponse response = (HttpServletResponse) invocation.getInvocationContext().get(HTTP_RESPONSE);

> java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-3408
>                 URL: https://issues.apache.org/jira/browse/WW-3408
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.1.6, 2.1.8, 2.1.8.1
>            Reporter: Frank Pedroza
>            Assignee: Lukasz Lenart
>             Fix For: 2.2.0
>
>
> I'm trying to write a custom result type that extends StrutsResultSupport.  I have the following line of line that works fine using struts 2.0.14, but throws an exception using 2.1.6 and 2.1.8.1:
> {noformat}
> HttpServletResponse response = (HttpServletResponse)invocation.getInvocationContext().get(HTTP_RESPONSE);
> {noformat}
> Here's the exception:
> {noformat}
> [ERROR] 2010-03-16 08:16:12,934 {http-8080-3} org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dibs-registrar-web].[default] - Servlet.service() for servlet default threw exception
>  java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
> 	at com.xxx.xw.DownloadAttachedFileResult.doExecute(DownloadAttachedFileResult.java:73)
> 	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
> 	at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
> 	at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.xxx.xxx.xw.VitalizeInterceptor.intercept(VitalizeInterceptor.java:44)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.xxx.xxx.xw.RedirectMessageInterceptor.doIntercept(RedirectMessageInterceptor.java:64)
> 	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at com.xxx.xxx.xw.VitalizeForInputResultInterceptor.intercept(VitalizeForInputResultInterceptor.java:45)
> 	at com.google.inject.servlet.Struts2Factory$ProvidedInterceptor.intercept(Struts2Factory.java:234)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
> 	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
> 	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
> 	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
> 	at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:76)
> 	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> 	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> 	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
> 	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
> 	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> 	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> 	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:65)
> 	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> 	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> 	at com.xxx.xxx.servlet.CurrentUserInfoFilter.doFilter(CurrentUserInfoFilter.java:70)
> 	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> 	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> 	at com.xxx.xxx.servlet.HibernateTXFilter.doFilter(HibernateTXFilter.java:47)
> 	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> 	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> 	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
> 	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
> 	at java.lang.Thread.run(Thread.java:595)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.