My web app uses struts 2.3.15 and deployed in tomcat 7.0.47 (and in tomcat
8.0.15 too). I have used most of the calls using DMI (Dynamic Method
Invocation) using urls like /testapp/userspace/user!getRole.action

Now I have updated the application to struts version 2.3.29 and any of the
DMI methods are not working and return 404 error.

I do understand that struts has made default configuration for DMI to false
(struts.enable.DynamicMethodInvocation) after version 2.3.xx (where xx
above 15) but using struts configuration file I made that enabled, still
its not working. I checked using config-browser plugin and seems its not
getting enabled, although I have made the configuration to enable it.

My struts-config.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd";>
<struts>
        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <constant name="struts.objectFactory.spring.autoWire" value="name" />
        <constant name="struts.devMode" value="true" />
</struts>

web.xml

        <filter>
                <filter-name>struts2</filter-name>
                
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
                <init-param>
                        <param-name>config</param-name>
                        <param-value>struts-default.xml,
                                struts-plugin.xml,
                                /WEB-INF/struts-config.xml</param-value>
                </init-param>
                <init-param>
                        <param-name>actionPackages</param-name>
                        <param-value>com.isa.maxaero.web.action</param-value>
                </init-param>
        </filter>


I have also learned that this issue is not with jboss server since we have
done the same change to another app that runs on jboss and it works as
expected.

Any suggestions on how to made struts.enable.DynamicMethodInvocation to
*true*.

Tomcat - 7.0.47, Struts - 2.3.29


Regards,

Vidula.

Reply via email to