You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Daniel Wu (Jira)" <ji...@apache.org> on 2022/09/29 15:41:00 UTC

[jira] [Comment Edited] (WW-5238) Strict Method Invocation (SMI) too strict?

    [ https://issues.apache.org/jira/browse/WW-5238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17611074#comment-17611074 ] 

Daniel Wu edited comment on WW-5238 at 9/29/22 3:40 PM:
--------------------------------------------------------

[~lukaszlenart]  I did set the followings in the struts.xml.

<constant name="struts.mapper.action.prefix.enabled" value="true" />


was (Author: JIRAUSER296327):
I did set the followings in the struts.xml.

<constant name="struts.mapper.action.prefix.enabled" value="true" />

> Strict Method Invocation (SMI) too strict?
> ------------------------------------------
>
>                 Key: WW-5238
>                 URL: https://issues.apache.org/jira/browse/WW-5238
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 6.0.3
>            Reporter: Daniel Wu
>            Priority: Critical
>
> 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 - *{color:#ff0000}Parameter [action:aSbmt1] didn't match accepted pattern{color}* [[\w+((\.\w+)|(\[\d+])|((\d+))|(['(\w-?|[\u4e00-\u9fa5]{-}?){+}'])|(('(\w{+}{-}?|[\u4e00-\u9fa5]-?)')))*]]! See Accepted / Excluded patterns at
> [https://struts.apache.org/security/#accepted--excluded-patterns]
> *{color:#ff0000}2. com.opensymphony.xwork2.config.ConfigurationException: Method prompt for action aSbmt1 is not allowed!{color}*
>     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) ~



--
This message was sent by Atlassian Jira
(v8.20.10#820010)