Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-5238

Strict Method Invocation (SMI) too strict or wrong ActionMapping?

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 6.0.3
    • 6.1.1
    • Core
    • None

    Description

      Got the following error (Error No. 2) when trying to create one record. The prompt method is not supposed to be invoked for aSbmt1. Before that, the aSbmt1 was not accepted (Error No. 1). I tried several ways to try to overwrite the regular expression without success. Was something strange introduced into the Struts 2 version 6.0.3? Is Strict Method Invocation (SMI) in a dead loop? I am surprised at that there is no issue reported for the Struts 2 version 6.0.3 yet.

      1. com.opensymphony.xwork2.interceptor.ParametersInterceptor - Parameter [action:aSbmt1] didn't match accepted pattern [[\w+((\.\w+)|(\[\d+])|((\d+))|(['(\w-?|[\u4e00-\u9fa5]?)'])|(('(\w?|[\u4e00-\u9fa5]-?)')))*]]! See Accepted / Excluded patterns at
      https://struts.apache.org/security/#accepted--excluded-patterns

      2. com.opensymphony.xwork2.config.ConfigurationException: Method prompt for action aSbmt1 is not allowed!
          at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:191) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.factory.StrutsActionProxy.prepare(StrutsActionProxy.java:57) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.factory.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:32) ~[struts2-core-6.0.3.jar:6.0.3]
          at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:60) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.dispatcher.Dispatcher.createActionProxy(Dispatcher.java:673) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.dispatcher.Dispatcher.prepareActionProxy(Dispatcher.java:658) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:621) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) ~[struts2-core-6.0.3.jar:6.0.3]
          at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) ~[struts2-core-6.0.3.jar:6.0.3]
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) ~

      Attachments

        1. ex1.PNG
          39 kB
          Daniel Wu
        2. ex2.PNG
          40 kB
          Daniel Wu
        3. form-processing.png
          45 kB
          Daniel Wu
        4. results_after_clicking_add_button.PNG
          50 kB
          Daniel Wu

        Issue Links

          Activity

            People

              Unassigned Unassigned
              danielwu2022 Daniel Wu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: