Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8BF91200C30 for ; Tue, 7 Mar 2017 10:08:42 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 8A80B160B74; Tue, 7 Mar 2017 09:08:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 63EC7160B68 for ; Tue, 7 Mar 2017 10:08:41 +0100 (CET) Received: (qmail 72028 invoked by uid 500); 7 Mar 2017 09:08:40 -0000 Mailing-List: contact issues-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list issues@struts.apache.org Received: (qmail 72018 invoked by uid 99); 7 Mar 2017 09:08:40 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Mar 2017 09:08:40 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id EA99E1819E4 for ; Tue, 7 Mar 2017 09:08:39 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.546 X-Spam-Level: X-Spam-Status: No, score=-1.546 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-2.999, SPF_NEUTRAL=0.652, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id rftCFxEeBAOu for ; Tue, 7 Mar 2017 09:08:35 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 4AE485FC06 for ; Tue, 7 Mar 2017 09:08:35 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id C4E89E0A30 for ; Tue, 7 Mar 2017 09:08:33 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 3C45624182 for ; Tue, 7 Mar 2017 09:08:33 +0000 (UTC) Date: Tue, 7 Mar 2017 09:08:33 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: issues@struts.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (WW-4105) Struts2 raise java.lang.ClassCastException when Result type is chain MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 07 Mar 2017 09:08:42 -0000 [ https://issues.apache.org/jira/browse/WW-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15899008#comment-15899008 ] ASF GitHub Bot commented on WW-4105: ------------------------------------ Github user lukaszlenart commented on the issue: https://github.com/apache/struts/pull/118 Unacceptable ... what about annotations or conventions? Also it would be good to have the attribute `bean` optional. > Struts2 raise java.lang.ClassCastException when Result type is chain > --------------------------------------------------------------------- > > Key: WW-4105 > URL: https://issues.apache.org/jira/browse/WW-4105 > Project: Struts 2 > Issue Type: Bug > Components: Core Interceptors > Affects Versions: 2.3.14.3 > Environment: tomcat6 struts2.3.* > Reporter: zhouyong > Fix For: 2.5.x > > Attachments: lib.zip.001, lib.zip.002, lib.zip.003, lib.zip.004, lib.zip.005, lib.zip.006, lib.zip.007, lib.zip.008, struts2-debug.tar.gz, test.zip, WW-4105.patch > > > java.lang.ClassCastException: A action cannot be cast to B action when A chain to B. > ChainingInterceptor.java has a bug in intercept function when Result type is chain. > Intercept function of ChainingInterceptor will change action member of DefaultActionInvocation class. And invokeAction of DefaultActionInvocation will fail in line 450. > My action class has a annotation. It is org.springframework.transaction.annotation.Transactional. Action work good if it has not org.springframework.transaction.annotation.Transactional > AtestAction.java: > {code:java} > package demo.action; > import org.apache.struts2.convention.annotation.Action; > import org.apache.struts2.convention.annotation.ParentPackage; > import org.apache.struts2.convention.annotation.Result; > import org.apache.struts2.convention.annotation.Results; > import org.springframework.context.annotation.Scope; > import org.springframework.stereotype.Service; > import org.springframework.transaction.annotation.Transactional; > @Transactional > @ParentPackage(value="swordlite") > @Service("AtestAction") > @Scope(value = "prototype") > @Results( { > @Result(name = "test", location = "testb", type = "chain", > params = { > "defineId", "${_defineId}", > "rp", "${_resultPage}"} > ) > }) > public class AtestAction { > @Action(value = "/testa") > public String run() throws Exception > { return "test"; } > } > BtestAction.java: > import org.apache.struts2.convention.annotation.Action; > import org.apache.struts2.convention.annotation.ParentPackage; > import org.apache.struts2.convention.annotation.Result; > import org.apache.struts2.convention.annotation.Results; > import org.springframework.context.annotation.Scope; > import org.springframework.stereotype.Service; > import org.springframework.transaction.annotation.Transactional; > @Transactional > @ParentPackage(value="swordlite") > @Service("BtestAction") > @Scope(value="prototype") > @Results({ > @Result(name="ok", location="/ok.jsp", type="dispatcher"), > }) > public class BtestAction { > @Action(value = "/testb") > public String run() throws Exception > { return "ok"; } > } > {code} > request: http://localhost:8080/test/testa.action > raise error: java.lang.ClassCastException: demo.action.AtestAction cannot be cast to demo.action.BtestAction > spring config file: applicationContext.xml > {code:xml} > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" > xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" > xmlns:util="http://www.springframework.org/schema/util" xmlns="http://www.springframework.org/schema/p" > xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd > http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd > http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd > http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd > http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"> > > > > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> > > > WEB-INF/config/db.properties > WEB-INF/config/hibernate.properties > > > > destroy-method="close"> > > > > > > > > > > class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> > > > > .*.model > > > > > ${hibernate.dialect} > ${hibernate.show_sql} > none > > > > class="org.springframework.orm.hibernate3.HibernateTransactionManager"> > > > > > {code} > struts config file: struts.xml > {code:xml} > > "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" > "http://struts.apache.org/dtds/struts-2.3.dtd"> > > > > > > > /mrg/error.jsp > /mrg/re2Editpage.jsp > > > > > > > {code} > stacktrace: > {code:java} > java.lang.ClassCastException: demo.action.AtestAction cannot be cast to demo.action.BtestAction > at demo.action.BtestAction$$FastClassByCGLIB$$4c9ad5d.invoke() ~[com.springsource.net.sf.cglib-2.2.0.jar:na] > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) ~[com.springsource.net.sf.cglib-2.2.0.jar:na] > at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) ~[org.springframework.aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[org.springframework.aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] > at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) ~[org.springframework.transaction-3.0.5.RELEASE.jar:3.0.5.RELEASE] > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[org.springframework.aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] > at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) ~[org.springframework.aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] > at demo.action.BtestAction$$EnhancerByCGLIB$$cb3cf5cd.run() ~[com.springsource.net.sf.cglib-2.2.0.jar:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_29] > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_29] > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_29] > at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_29] > at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:233) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) ~[xwork-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:546) ~[struts2-core-2.3.14.3.jar:2.3.14.3] > at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434) [struts2-core-2.3.14.3.jar:2.3.14.3] > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.35] > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.35] > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:6.0.35] > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:6.0.35] > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:6.0.35] > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:6.0.35] > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:6.0.35] > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) [catalina.jar:6.0.35] > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) [tomcat-coyote.jar:6.0.35] > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) [tomcat-coyote.jar:6.0.35] > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote.jar:6.0.35] > at java.lang.Thread.run(Unknown Source) [na:1.6.0_29] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)