You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Lukasz Lenart <lu...@apache.org> on 2022/08/25 05:52:06 UTC

[TEST] Struts 6.0.2 test build is ready

Hello,

This is the first patch version of Struts 6.x series. Please take the
time and test the bits - any help is appreciated. Please report any
problems you will spot.

Here are the changes from the previous 6.0.0 version:
https://github.com/apache/struts/releases/tag/STRUTS_6_0_2

Staging Maven repo
https://repository.apache.org/content/groups/staging/

Standalone artifacts
https://dist.apache.org/repos/dist/dev/struts/6.0.2/

Release notes
https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2


Kind regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
czw., 25 sie 2022 o 14:09 Johannes Geppert <jo...@apache.org> napisał(a):
>
> Hi Lukasz,
>
> I can confirm that 6.0.2 works well with the aws serverless integration.

Great to hear that, thanks a lot for testing it :)


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Johannes Geppert <jo...@apache.org>.
Hi Lukasz,

I can confirm that 6.0.2 works well with the aws serverless integration.

Thanks for the new release.

Best Regards

Johannes

#################################################
web: http://www.jgeppert.com
twitter: http://twitter.com/jogep



Am Do., 25. Aug. 2022 um 07:52 Uhr schrieb Lukasz Lenart <
lukaszlenart@apache.org>:

> Hello,
>
> This is the first patch version of Struts 6.x series. Please take the
> time and test the bits - any help is appreciated. Please report any
> problems you will spot.
>
> Here are the changes from the previous 6.0.0 version:
> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>
> Staging Maven repo
> https://repository.apache.org/content/groups/staging/
>
> Standalone artifacts
> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>
> Release notes
> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>
>
> Kind regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
Great to hear that, I will wait a bit then merge the PR and issue a
new test build, thanks a lot for testing this version!!!

Cheers
Łukasz

czw., 1 wrz 2022 o 09:25 info@flyingfischer.ch <in...@flyingfischer.ch>
napisał(a):
>
> Resolved the other "phenomenon". Was an issue on my side around
> Modeldriven<MyObject> and mixed up getters.
>
> Best regards
> Markus
>
>
> Am 01.09.22 um 09:07 schrieb info@flyingfischer.ch:
> > Thanks Łukasz
> >
> > looks good to me. Provides the possibility to opt out on any given
> > fine grained use case while maintaing a general stricter approach.
> >
> > Best regards
> > Markus
> >
> > PS: looking right now into another strange phenomenon on a different
> > topic while testing. I will open a separate thread. I need to do some
> > more testing.
> >
> >
> > Am 01.09.22 um 08:19 schrieb Lukasz Lenart:
> >> After re-thinking my idea with a dedicated stack, I prepared a PR
> >> which allows to disable those interceptors
> >> https://issues.apache.org/jira/browse/WW-5218
> >>
> >> In other ways no one will adopt them, enforcing users to use them with
> >> the option to disable them should help raise more notions about CSP,
> >> wdyt?
> >>
> >>
> >> Regards
> >> --
> >> Łukasz
> >> + 48 606 323 122 http://www.lenart.org.pl/
> >>
> >> śr., 31 sie 2022 o 14:29 Johannes Geppert <jo...@apache.org> napisał(a):
> >>> +1 for dedicated stack, but not sure if we should name it "default
> >>> secure
> >>> stack" as it implies that the other stacks are not secure. 😉
> >>>
> >>> My 2ct on this
> >>>
> >>> Best Regards
> >>>
> >>> Johannes
> >>>
> >>> info@flyingfischer.ch <in...@flyingfischer.ch> schrieb am Mi., 31. Aug.
> >>> 2022, 14:20:
> >>>
> >>>> Creating a new default secure stack sounds good to me. Thank for
> >>>> considering.
> >>>>
> >>>> As far as I can see there would be 4 additional interceptors in this
> >>>> secure stack:
> >>>>
> >>>> CoepInterceptor.java
> >>>> CoopInterceptor.java
> >>>> CspInterceptor.java
> >>>> FetchMetadataInterceptor.java
> >>>>
> >>>> And the appropriate resources used by them:
> >>>> ResourceIsolationPolicy.java
> >>>> StrutsResourceIsolationPolicy.java
> >>>>
> >>>> Best regards
> >>>> Markus
> >>>>
> >>>>
> >>>> Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
> >>>>> I think disabling them doesn't make sense - these are just
> >>>>> interceptors so you can create your own stack without them. I would
> >>>>> rather create a new default secure stack and move those interceptors
> >>>>> into that stack, wdyt?
> >>>>>
> >>>>>
> >>>>> Regards
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>
> >>>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Resolved the other "phenomenon". Was an issue on my side around 
Modeldriven<MyObject> and mixed up getters.

Best regards
Markus


Am 01.09.22 um 09:07 schrieb info@flyingfischer.ch:
> Thanks Łukasz
>
> looks good to me. Provides the possibility to opt out on any given 
> fine grained use case while maintaing a general stricter approach.
>
> Best regards
> Markus
>
> PS: looking right now into another strange phenomenon on a different 
> topic while testing. I will open a separate thread. I need to do some 
> more testing.
>
>
> Am 01.09.22 um 08:19 schrieb Lukasz Lenart:
>> After re-thinking my idea with a dedicated stack, I prepared a PR
>> which allows to disable those interceptors
>> https://issues.apache.org/jira/browse/WW-5218
>>
>> In other ways no one will adopt them, enforcing users to use them with
>> the option to disable them should help raise more notions about CSP,
>> wdyt?
>>
>>
>> Regards
>> -- 
>> Łukasz
>> + 48 606 323 122 http://www.lenart.org.pl/
>>
>> śr., 31 sie 2022 o 14:29 Johannes Geppert <jo...@apache.org> napisał(a):
>>> +1 for dedicated stack, but not sure if we should name it "default 
>>> secure
>>> stack" as it implies that the other stacks are not secure. 😉
>>>
>>> My 2ct on this
>>>
>>> Best Regards
>>>
>>> Johannes
>>>
>>> info@flyingfischer.ch <in...@flyingfischer.ch> schrieb am Mi., 31. Aug.
>>> 2022, 14:20:
>>>
>>>> Creating a new default secure stack sounds good to me. Thank for
>>>> considering.
>>>>
>>>> As far as I can see there would be 4 additional interceptors in this
>>>> secure stack:
>>>>
>>>> CoepInterceptor.java
>>>> CoopInterceptor.java
>>>> CspInterceptor.java
>>>> FetchMetadataInterceptor.java
>>>>
>>>> And the appropriate resources used by them:
>>>> ResourceIsolationPolicy.java
>>>> StrutsResourceIsolationPolicy.java
>>>>
>>>> Best regards
>>>> Markus
>>>>
>>>>
>>>> Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
>>>>> I think disabling them doesn't make sense - these are just
>>>>> interceptors so you can create your own stack without them. I would
>>>>> rather create a new default secure stack and move those interceptors
>>>>> into that stack, wdyt?
>>>>>
>>>>>
>>>>> Regards
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Thanks Łukasz

looks good to me. Provides the possibility to opt out on any given fine 
grained use case while maintaing a general stricter approach.

Best regards
Markus

PS: looking right now into another strange phenomenon on a different 
topic while testing. I will open a separate thread. I need to do some 
more testing.


Am 01.09.22 um 08:19 schrieb Lukasz Lenart:
> After re-thinking my idea with a dedicated stack, I prepared a PR
> which allows to disable those interceptors
> https://issues.apache.org/jira/browse/WW-5218
>
> In other ways no one will adopt them, enforcing users to use them with
> the option to disable them should help raise more notions about CSP,
> wdyt?
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> śr., 31 sie 2022 o 14:29 Johannes Geppert <jo...@apache.org> napisał(a):
>> +1 for dedicated stack, but not sure if we should name it "default secure
>> stack" as it implies that the other stacks are not secure. 😉
>>
>> My 2ct on this
>>
>> Best Regards
>>
>> Johannes
>>
>> info@flyingfischer.ch <in...@flyingfischer.ch> schrieb am Mi., 31. Aug.
>> 2022, 14:20:
>>
>>> Creating a new default secure stack sounds good to me. Thank for
>>> considering.
>>>
>>> As far as I can see there would be 4 additional interceptors in this
>>> secure stack:
>>>
>>> CoepInterceptor.java
>>> CoopInterceptor.java
>>> CspInterceptor.java
>>> FetchMetadataInterceptor.java
>>>
>>> And the appropriate resources used by them:
>>> ResourceIsolationPolicy.java
>>> StrutsResourceIsolationPolicy.java
>>>
>>> Best regards
>>> Markus
>>>
>>>
>>> Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
>>>> I think disabling them doesn't make sense - these are just
>>>> interceptors so you can create your own stack without them. I would
>>>> rather create a new default secure stack and move those interceptors
>>>> into that stack, wdyt?
>>>>
>>>>
>>>> Regards
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
After re-thinking my idea with a dedicated stack, I prepared a PR
which allows to disable those interceptors
https://issues.apache.org/jira/browse/WW-5218

In other ways no one will adopt them, enforcing users to use them with
the option to disable them should help raise more notions about CSP,
wdyt?


Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

śr., 31 sie 2022 o 14:29 Johannes Geppert <jo...@apache.org> napisał(a):
>
> +1 for dedicated stack, but not sure if we should name it "default secure
> stack" as it implies that the other stacks are not secure. 😉
>
> My 2ct on this
>
> Best Regards
>
> Johannes
>
> info@flyingfischer.ch <in...@flyingfischer.ch> schrieb am Mi., 31. Aug.
> 2022, 14:20:
>
> > Creating a new default secure stack sounds good to me. Thank for
> > considering.
> >
> > As far as I can see there would be 4 additional interceptors in this
> > secure stack:
> >
> > CoepInterceptor.java
> > CoopInterceptor.java
> > CspInterceptor.java
> > FetchMetadataInterceptor.java
> >
> > And the appropriate resources used by them:
> > ResourceIsolationPolicy.java
> > StrutsResourceIsolationPolicy.java
> >
> > Best regards
> > Markus
> >
> >
> > Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
> > > I think disabling them doesn't make sense - these are just
> > > interceptors so you can create your own stack without them. I would
> > > rather create a new default secure stack and move those interceptors
> > > into that stack, wdyt?
> > >
> > >
> > > Regards
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Johannes Geppert <jo...@apache.org>.
+1 for dedicated stack, but not sure if we should name it "default secure
stack" as it implies that the other stacks are not secure. 😉

My 2ct on this

Best Regards

Johannes

info@flyingfischer.ch <in...@flyingfischer.ch> schrieb am Mi., 31. Aug.
2022, 14:20:

> Creating a new default secure stack sounds good to me. Thank for
> considering.
>
> As far as I can see there would be 4 additional interceptors in this
> secure stack:
>
> CoepInterceptor.java
> CoopInterceptor.java
> CspInterceptor.java
> FetchMetadataInterceptor.java
>
> And the appropriate resources used by them:
> ResourceIsolationPolicy.java
> StrutsResourceIsolationPolicy.java
>
> Best regards
> Markus
>
>
> Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
> > I think disabling them doesn't make sense - these are just
> > interceptors so you can create your own stack without them. I would
> > rather create a new default secure stack and move those interceptors
> > into that stack, wdyt?
> >
> >
> > Regards
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Creating a new default secure stack sounds good to me. Thank for 
considering.

As far as I can see there would be 4 additional interceptors in this 
secure stack:

CoepInterceptor.java
CoopInterceptor.java
CspInterceptor.java
FetchMetadataInterceptor.java

And the appropriate resources used by them:
ResourceIsolationPolicy.java
StrutsResourceIsolationPolicy.java

Best regards
Markus


Am 31.08.22 um 14:11 schrieb Lukasz Lenart:
> I think disabling them doesn't make sense - these are just
> interceptors so you can create your own stack without them. I would
> rather create a new default secure stack and move those interceptors
> into that stack, wdyt?
>
>
> Regards

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
I think disabling them doesn't make sense - these are just
interceptors so you can create your own stack without them. I would
rather create a new default secure stack and move those interceptors
into that stack, wdyt?


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
I have a use case, where it is no option to muddle with headers. The 
headers are dynamically controlled by the App.

So I really would need an option to remove any well-intentioned, but not 
wanted headers. This seems not easily possible with the added CSP in 6.x 
version.

Any chance that such an option would be added? I would prefer to do 
without defining my own struts-default.xml.

---
COEP Interceptor
https://struts.apache.org/core-developers/coep-interceptor

Can be disabled

         <interceptor-ref name="defaultStack">
             <param name="coepInterceptor.disabled">true</param>
         </interceptor-ref>

---
COOP Interceptor
https://struts.apache.org/core-developers/coop-interceptor

Has no option to be disabled. The only option would be:

     <interceptor-ref name="defaultStack">
         <param name="coopInterceptor.mode">unsafe-none</param>
     </interceptor-ref>

This still adds a header

Cross-Origin-Opener-Policy: unsafe-none

--
Fetch Metadata Interceptor
https://struts.apache.org/core-developers/fetch-metadata-interceptor

Has no option to be disabled. Only knows

<interceptor-ref name="defaultStack">
             <param 
name="fetchMetadata.exemptedPaths">/path1,/path2,/path3</param>
     </interceptor-ref>


Am 30.08.22 um 16:43 schrieb info@flyingfischer.ch:
> Thanks Łukasz
>
> Any chance to disable this on domain basis, or even totally? I fear 
> coopInterceptor.exemptedPaths will not be sufficiant in my case.
>
> Best regards
> Markus
>
>
> Am 30.08.22 um 16:22 schrieb Łukasz Lenart:
>> CSP was added in 6.x version
>>
>> https://struts.apache.org/core-developers/coop-interceptor
>> https://struts.apache.org/core-developers/coop-interceptor
>> https://struts.apache.org/core-developers/fetch-metadata-interceptor
>>
>>
>> W dniu wt., 30.08.2022 o 15:54 info@flyingfischer.ch 
>> <in...@flyingfischer.ch>
>> napisał(a):
>>
>>> It looks like an cross-site issue: The error does only appear, when the
>>> request is called from a third party domain. When called from a
>>> subdomain of the main domain, the error does not appear.
>>>
>>> Regards
>>> Markus
>>>
>>>
>>> Am 30.08.22 um 15:35 schrieb info@flyingfischer.ch:
>>>> I am puzzled, calling the same request on the console works:
>>>>
>>>> curl -i -X OPTIONS https://domain/context/mypath?url=urlEncodedUrl
>>>> HTTP/1.1 302
>>>> Cache-control: no-cache, no-store
>>>> Pragma: no-cache
>>>> Expires: -1
>>>> Vary: Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-User
>>>> Cross-Origin-Embedder-Policy-Report-Only: require-corp
>>>> Cross-Origin-Opener-Policy: same-origin
>>>> Location: /context/otherpath?url=urlEncodedUrl
>>>> Content-Language: de-CH
>>>> Content-Length: 0
>>>> Date: Tue, 30 Aug 2022 13:23:17 GMT
>>>> Server: Apache
>>>>
>>>> I need to meditate...
>>>>
>>>> Regards
>>>> Markus
>>>>
>>>> Am 30.08.22 um 14:41 schrieb info@flyingfischer.ch:
>>>>> The action and the result actually do exist as redirectAction
>>>>>
>>>>>          <result name="resultName" type="redirectAction">
>>>>>                <param name="actionName">otherpath</param>
>>>>>                <param name="url">${url}</param>
>>>>>          </result>
>>>>>
>>>>> This works:
>>>>> GET /context/mypath?url=urlEncodedUrl HTTP/1.1"
>>>>>
>>>>> This fails:
>>>>> OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404
>>>>>
>>>>> But yes, strange that OPTIONS returns 404, while WARN
>>>>> org.apache.struts2.dispatcher.Dispatcher returns 403.
>>>>>
>>>>> Regards
>>>>> Markus
>>>>>
>>>>>
>>>>> Am 30.08.22 um 14:32 schrieb Yasser Zamani:
>>>>>> Thanks. I see "...and result 403..." so looks like the underlying
>>>>>> action has responded with 403 i.e. forbidden and you haven't defined
>>>>>> such result for this action in struts.xml? wdyt?
>>>>>>
>>>>>> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
>>>>>>> Hi Yasser
>>>>>>> sure.
>>>>>>>
>>>>>>> Regards
>>>>>>> Markus
>>>>>>>
>>>>>>>
>>>>>>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher
>>>>>>> - Could not find action or result: 
>>>>>>> /context/mypath?url=urlEncodedUrl
>>>>>>> No result defined for action ch.xx.xx.xx and result 403 - action -
>>>>>>>
>>> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28) 
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>>>>>>>           at
>>>>>>>
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630) 
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367) 
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639) 
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) 
>>>
>>>
>>>>>>>           at
>>>>>>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078) 
>>>>>>>
>>>>>>>           at
>>>>>>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
>>>>>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 
>>>
>>>
>>>>>>>           at
>>>>>>>
>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
>>>
>>>
>>>>>>>           at java.base/java.lang.Thread.run(Thread.java:833)
>>>>>>>
>>>>>>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>>>>>>>> Hi Markus,
>>>>>>>>
>>>>>>>> I see corresponding codes in Struts:
>>>>>>>>          if (devMode) {
>>>>>>>>              LOG.error("Could not find action or result: {}", 
>>>>>>>> uri, e);
>>>>>>>>          } else if (LOG.isWarnEnabled()) {
>>>>>>>>              LOG.warn("Could not find action or result: {}", 
>>>>>>>> uri, e);
>>>>>>>>          }
>>>>>>>> so it seems you should also have the exception e stack trace
>>>>>>>> logged. Could you please share it as well? I guess you might
>>>>>>>> affected by [1] but honestly hard to say how. So the stack trace
>>>>>>>> could help a lot.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Yasser
>>>>>>>>
>>>>>>>> [1]
>>>>>>>>
>>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b 
>>>
>>>>>>>>
>>>>>>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>>>>>>>> If I see this correctly, this happens only with OPTIONS and HEAD
>>>>>>>>> requests....
>>>>>>>>>
>>>>>>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>>>>>>>> After removing commons-digester3-3.2 and leaving
>>>>>>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in
>>>>>>>>>> production:
>>>>>>>>>>
>>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find
>>>>>>>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>>
>>>>>>>>>> Seems to be a new issue in Struts6 and not really related to
>>>>>>>>>> commons-digester? Unfortunately I cannot reproduce the issue
>>>>>>>>>> straightforward. I just see the error in the log. Calling the
>>>>>>>>>> path directly does not cause the issue. May there be a
>>>>>>>>>> connection with a not present session?
>>>>>>>>>>
>>>>>>>>>> Markus
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>>>>>>>> Removing commons-digester-2.1 gives:
>>>>>>>>>>>
>>>>>>>>>>> java.lang.NoClassDefFoundError: 
>>>>>>>>>>> org/apache/commons/digester/Rule
>>>>>>>>>>>
>>>>>>>>>>> I am able to remove commons-digester3-3.2: the application does
>>>>>>>>>>> start.
>>>>>>>>>>>
>>>>>>>>>>> I will replace the application in production and check, if the
>>>>>>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher
>>>>>>>>>>> disappear.
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> Markus
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>>>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards
>>>>>>>>>>>> Łukasz
>>>>>>>>>>>>
>>>>>>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>>>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>>>>>>>> hmm, in production I see from time to time:
>>>>>>>>>>>>>
>>>>>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not
>>>>>>>>>>>>> find action or
>>>>>>>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>>>>>
>>>>>>>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>>>>>>>
>>>>>>>>>>>>>          <result name="resultName" type="redirectAction">
>>>>>>>>>>>>>                <param name="actionName">otherpath</param>
>>>>>>>>>>>>>                <param name="url">${url}</param>
>>>>>>>>>>>>>          </result>
>>>>>>>>>>>>>
>>>>>>>>>>>>> This behaviour seems to be new. I cannot reproduce it
>>>>>>>>>>>>> consistently, but
>>>>>>>>>>>>> there seems to be thrown an error in
>>>>>>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between
>>>>>>>>>>>>> these lines:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>            try {
>>>>>>>>>>>>>                String actionNamespace = 
>>>>>>>>>>>>> mapping.getNamespace();
>>>>>>>>>>>>>                String actionName = mapping.getName();
>>>>>>>>>>>>>                String actionMethod = mapping.getMethod();
>>>>>>>>>>>>>
>>>>>>>>>>>>>                LOG.trace("Processing action, namespace: {},
>>>>>>>>>>>>> name: {},
>>>>>>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>>>>>>>                ActionProxy proxy =
>>>>>>>>>>>>> prepareActionProxy(extraContext,
>>>>>>>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>>>>>>>
>>>>>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>>>>>>>>
>>>>>>>>>>>>> proxy.getInvocation().getStack());
>>>>>>>>>>>>>
>>>>>>>>>>>>>                // if the ActionMapping says to go straight to
>>>>>>>>>>>>> a result, do it!
>>>>>>>>>>>>>                if (mapping.getResult() != null) {
>>>>>>>>>>>>>                    Result result = mapping.getResult();
>>>>>>>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>>>>>>>                } else {
>>>>>>>>>>>>>                    proxy.execute();
>>>>>>>>>>>>>                }
>>>>>>>>>>>>>
>>>>>>>>>>>>>                // If there was a previous value stack then 
>>>>>>>>>>>>> set
>>>>>>>>>>>>> it back
>>>>>>>>>>>>> onto the request
>>>>>>>>>>>>>                if (!nullStack) {
>>>>>>>>>>>>>
>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>>>>>>> stack);
>>>>>>>>>>>>>                }
>>>>>>>>>>>>>            } catch (ConfigurationException e) {
>>>>>>>>>>>>> logConfigurationException(request, e);
>>>>>>>>>>>>>                sendError(request, response,
>>>>>>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>>>>>>>            }
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>>>>>>>
>>>>>>>>>>>>> commons-digester-2.1
>>>>>>>>>>>>> commons-digester3-3.2
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any idea, what is causing this warning, which seems to be
>>>>>>>>>>>>> rather an error?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best Markus
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>> Markus
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> This is the first patch version of Struts 6.x series.
>>>>>>>>>>>>>>> Please take the
>>>>>>>>>>>>>>> time and test the bits - any help is appreciated. Please
>>>>>>>>>>>>>>> report any
>>>>>>>>>>>>>>> problems you will spot.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Staging Maven repo
>>>>>>>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Standalone artifacts
>>>>>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Release notes
>>>>>>>>>>>>>>>
>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kind regards
>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>> Łukasz
>>>>>>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>
>>>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>
>>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>
>>>>>>>>>
>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>> -- 
>> (mobile)
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Thanks Łukasz

Any chance to disable this on domain basis, or even totally? I fear 
coopInterceptor.exemptedPaths will not be sufficiant in my case.

Best regards
Markus


Am 30.08.22 um 16:22 schrieb Łukasz Lenart:
> CSP was added in 6.x version
>
> https://struts.apache.org/core-developers/coop-interceptor
> https://struts.apache.org/core-developers/coop-interceptor
> https://struts.apache.org/core-developers/fetch-metadata-interceptor
>
>
> W dniu wt., 30.08.2022 o 15:54 info@flyingfischer.ch <in...@flyingfischer.ch>
> napisał(a):
>
>> It looks like an cross-site issue: The error does only appear, when the
>> request is called from a third party domain. When called from a
>> subdomain of the main domain, the error does not appear.
>>
>> Regards
>> Markus
>>
>>
>> Am 30.08.22 um 15:35 schrieb info@flyingfischer.ch:
>>> I am puzzled, calling the same request on the console works:
>>>
>>> curl -i -X OPTIONS https://domain/context/mypath?url=urlEncodedUrl
>>> HTTP/1.1 302
>>> Cache-control: no-cache, no-store
>>> Pragma: no-cache
>>> Expires: -1
>>> Vary: Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-User
>>> Cross-Origin-Embedder-Policy-Report-Only: require-corp
>>> Cross-Origin-Opener-Policy: same-origin
>>> Location: /context/otherpath?url=urlEncodedUrl
>>> Content-Language: de-CH
>>> Content-Length: 0
>>> Date: Tue, 30 Aug 2022 13:23:17 GMT
>>> Server: Apache
>>>
>>> I need to meditate...
>>>
>>> Regards
>>> Markus
>>>
>>> Am 30.08.22 um 14:41 schrieb info@flyingfischer.ch:
>>>> The action and the result actually do exist as redirectAction
>>>>
>>>>          <result name="resultName" type="redirectAction">
>>>>                <param name="actionName">otherpath</param>
>>>>                <param name="url">${url}</param>
>>>>          </result>
>>>>
>>>> This works:
>>>> GET /context/mypath?url=urlEncodedUrl HTTP/1.1"
>>>>
>>>> This fails:
>>>> OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404
>>>>
>>>> But yes, strange that OPTIONS returns 404, while WARN
>>>> org.apache.struts2.dispatcher.Dispatcher returns 403.
>>>>
>>>> Regards
>>>> Markus
>>>>
>>>>
>>>> Am 30.08.22 um 14:32 schrieb Yasser Zamani:
>>>>> Thanks. I see "...and result 403..." so looks like the underlying
>>>>> action has responded with 403 i.e. forbidden and you haven't defined
>>>>> such result for this action in struts.xml? wdyt?
>>>>>
>>>>> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
>>>>>> Hi Yasser
>>>>>> sure.
>>>>>>
>>>>>> Regards
>>>>>> Markus
>>>>>>
>>>>>>
>>>>>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher
>>>>>> - Could not find action or result: /context/mypath?url=urlEncodedUrl
>>>>>> No result defined for action ch.xx.xx.xx and result 403 - action -
>>>>>>
>> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128)
>>
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>>>>>>           at
>>>>>>
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>>>>>>           at
>>>>>>
>> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
>>
>>>>>>           at
>>>>>>
>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
>>
>>>>>>           at
>>>>>>
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>>>>>>           at
>>>>>>
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>>>>>>           at
>>>>>>
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
>>
>>>>>>           at
>>>>>>
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
>>
>>>>>>           at
>>>>>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078)
>>>>>>           at
>>>>>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>>>>>           at
>>>>>>
>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>>
>>>>>>           at
>>>>>>
>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>>
>>>>>>           at
>>>>>>
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>
>>>>>>           at java.base/java.lang.Thread.run(Thread.java:833)
>>>>>>
>>>>>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>>>>>>> Hi Markus,
>>>>>>>
>>>>>>> I see corresponding codes in Struts:
>>>>>>>          if (devMode) {
>>>>>>>              LOG.error("Could not find action or result: {}", uri, e);
>>>>>>>          } else if (LOG.isWarnEnabled()) {
>>>>>>>              LOG.warn("Could not find action or result: {}", uri, e);
>>>>>>>          }
>>>>>>> so it seems you should also have the exception e stack trace
>>>>>>> logged. Could you please share it as well? I guess you might
>>>>>>> affected by [1] but honestly hard to say how. So the stack trace
>>>>>>> could help a lot.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Yasser
>>>>>>>
>>>>>>> [1]
>>>>>>>
>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b
>>>>>>>
>>>>>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>>>>>>> If I see this correctly, this happens only with OPTIONS and HEAD
>>>>>>>> requests....
>>>>>>>>
>>>>>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>>>>>>> After removing commons-digester3-3.2 and leaving
>>>>>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in
>>>>>>>>> production:
>>>>>>>>>
>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find
>>>>>>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>
>>>>>>>>> Seems to be a new issue in Struts6 and not really related to
>>>>>>>>> commons-digester? Unfortunately I cannot reproduce the issue
>>>>>>>>> straightforward. I just see the error in the log. Calling the
>>>>>>>>> path directly does not cause the issue. May there be a
>>>>>>>>> connection with a not present session?
>>>>>>>>>
>>>>>>>>> Markus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>>>>>>> Removing commons-digester-2.1 gives:
>>>>>>>>>>
>>>>>>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>>>>>>
>>>>>>>>>> I am able to remove commons-digester3-3.2: the application does
>>>>>>>>>> start.
>>>>>>>>>>
>>>>>>>>>> I will replace the application in production and check, if the
>>>>>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher
>>>>>>>>>> disappear.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> Markus
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> Łukasz
>>>>>>>>>>>
>>>>>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>>>>>>> hmm, in production I see from time to time:
>>>>>>>>>>>>
>>>>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not
>>>>>>>>>>>> find action or
>>>>>>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>>>>
>>>>>>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>>>>>>
>>>>>>>>>>>>          <result name="resultName" type="redirectAction">
>>>>>>>>>>>>                <param name="actionName">otherpath</param>
>>>>>>>>>>>>                <param name="url">${url}</param>
>>>>>>>>>>>>          </result>
>>>>>>>>>>>>
>>>>>>>>>>>> This behaviour seems to be new. I cannot reproduce it
>>>>>>>>>>>> consistently, but
>>>>>>>>>>>> there seems to be thrown an error in
>>>>>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between
>>>>>>>>>>>> these lines:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>            try {
>>>>>>>>>>>>                String actionNamespace = mapping.getNamespace();
>>>>>>>>>>>>                String actionName = mapping.getName();
>>>>>>>>>>>>                String actionMethod = mapping.getMethod();
>>>>>>>>>>>>
>>>>>>>>>>>>                LOG.trace("Processing action, namespace: {},
>>>>>>>>>>>> name: {},
>>>>>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>>>>>>                ActionProxy proxy =
>>>>>>>>>>>> prepareActionProxy(extraContext,
>>>>>>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>>>>>>
>>>>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>>>>>> proxy.getInvocation().getStack());
>>>>>>>>>>>>
>>>>>>>>>>>>                // if the ActionMapping says to go straight to
>>>>>>>>>>>> a result, do it!
>>>>>>>>>>>>                if (mapping.getResult() != null) {
>>>>>>>>>>>>                    Result result = mapping.getResult();
>>>>>>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>>>>>>                } else {
>>>>>>>>>>>>                    proxy.execute();
>>>>>>>>>>>>                }
>>>>>>>>>>>>
>>>>>>>>>>>>                // If there was a previous value stack then set
>>>>>>>>>>>> it back
>>>>>>>>>>>> onto the request
>>>>>>>>>>>>                if (!nullStack) {
>>>>>>>>>>>>
>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>>>>>> stack);
>>>>>>>>>>>>                }
>>>>>>>>>>>>            } catch (ConfigurationException e) {
>>>>>>>>>>>>                logConfigurationException(request, e);
>>>>>>>>>>>>                sendError(request, response,
>>>>>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>>>>>>            }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>>>>>>
>>>>>>>>>>>> commons-digester-2.1
>>>>>>>>>>>> commons-digester3-3.2
>>>>>>>>>>>>
>>>>>>>>>>>> Any idea, what is causing this warning, which seems to be
>>>>>>>>>>>> rather an error?
>>>>>>>>>>>>
>>>>>>>>>>>> Best Markus
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>> Markus
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This is the first patch version of Struts 6.x series.
>>>>>>>>>>>>>> Please take the
>>>>>>>>>>>>>> time and test the bits - any help is appreciated. Please
>>>>>>>>>>>>>> report any
>>>>>>>>>>>>>> problems you will spot.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Staging Maven repo
>>>>>>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Standalone artifacts
>>>>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Release notes
>>>>>>>>>>>>>>
>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kind regards
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Łukasz
>>>>>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>
>>>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>
>>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>>>
>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>> --
> (mobile)
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Łukasz Lenart <lu...@gmail.com>.
CSP was added in 6.x version

https://struts.apache.org/core-developers/coop-interceptor
https://struts.apache.org/core-developers/coop-interceptor
https://struts.apache.org/core-developers/fetch-metadata-interceptor


W dniu wt., 30.08.2022 o 15:54 info@flyingfischer.ch <in...@flyingfischer.ch>
napisał(a):

> It looks like an cross-site issue: The error does only appear, when the
> request is called from a third party domain. When called from a
> subdomain of the main domain, the error does not appear.
>
> Regards
> Markus
>
>
> Am 30.08.22 um 15:35 schrieb info@flyingfischer.ch:
> > I am puzzled, calling the same request on the console works:
> >
> > curl -i -X OPTIONS https://domain/context/mypath?url=urlEncodedUrl
> > HTTP/1.1 302
> > Cache-control: no-cache, no-store
> > Pragma: no-cache
> > Expires: -1
> > Vary: Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-User
> > Cross-Origin-Embedder-Policy-Report-Only: require-corp
> > Cross-Origin-Opener-Policy: same-origin
> > Location: /context/otherpath?url=urlEncodedUrl
> > Content-Language: de-CH
> > Content-Length: 0
> > Date: Tue, 30 Aug 2022 13:23:17 GMT
> > Server: Apache
> >
> > I need to meditate...
> >
> > Regards
> > Markus
> >
> > Am 30.08.22 um 14:41 schrieb info@flyingfischer.ch:
> >> The action and the result actually do exist as redirectAction
> >>
> >>         <result name="resultName" type="redirectAction">
> >>               <param name="actionName">otherpath</param>
> >>               <param name="url">${url}</param>
> >>         </result>
> >>
> >> This works:
> >> GET /context/mypath?url=urlEncodedUrl HTTP/1.1"
> >>
> >> This fails:
> >> OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404
> >>
> >> But yes, strange that OPTIONS returns 404, while WARN
> >> org.apache.struts2.dispatcher.Dispatcher returns 403.
> >>
> >> Regards
> >> Markus
> >>
> >>
> >> Am 30.08.22 um 14:32 schrieb Yasser Zamani:
> >>> Thanks. I see "...and result 403..." so looks like the underlying
> >>> action has responded with 403 i.e. forbidden and you haven't defined
> >>> such result for this action in struts.xml? wdyt?
> >>>
> >>> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
> >>>> Hi Yasser
> >>>> sure.
> >>>>
> >>>> Regards
> >>>> Markus
> >>>>
> >>>>
> >>>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher
> >>>> - Could not find action or result: /context/mypath?url=urlEncodedUrl
> >>>> No result defined for action ch.xx.xx.xx and result 403 - action -
> >>>>
> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128)
>
> >>>>
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
> >>>>          at
> >>>>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
> >>>>          at
> >>>>
> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
> >>>>          at
> >>>>
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
> >>>>          at
> >>>>
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
>
> >>>>
> >>>>          at
> >>>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078)
>
> >>>>
> >>>>          at
> >>>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>
> >>>>
> >>>>          at
> >>>>
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> >>>>
> >>>>          at java.base/java.lang.Thread.run(Thread.java:833)
> >>>>
> >>>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
> >>>>> Hi Markus,
> >>>>>
> >>>>> I see corresponding codes in Struts:
> >>>>>         if (devMode) {
> >>>>>             LOG.error("Could not find action or result: {}", uri, e);
> >>>>>         } else if (LOG.isWarnEnabled()) {
> >>>>>             LOG.warn("Could not find action or result: {}", uri, e);
> >>>>>         }
> >>>>> so it seems you should also have the exception e stack trace
> >>>>> logged. Could you please share it as well? I guess you might
> >>>>> affected by [1] but honestly hard to say how. So the stack trace
> >>>>> could help a lot.
> >>>>>
> >>>>> Regards,
> >>>>> Yasser
> >>>>>
> >>>>> [1]
> >>>>>
> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b
> >>>>>
> >>>>>
> >>>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
> >>>>>> If I see this correctly, this happens only with OPTIONS and HEAD
> >>>>>> requests....
> >>>>>>
> >>>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
> >>>>>>> After removing commons-digester3-3.2 and leaving
> >>>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in
> >>>>>>> production:
> >>>>>>>
> >>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find
> >>>>>>> action or result: /context/mypath?url=urlEncodedUrl
> >>>>>>>
> >>>>>>> Seems to be a new issue in Struts6 and not really related to
> >>>>>>> commons-digester? Unfortunately I cannot reproduce the issue
> >>>>>>> straightforward. I just see the error in the log. Calling the
> >>>>>>> path directly does not cause the issue. May there be a
> >>>>>>> connection with a not present session?
> >>>>>>>
> >>>>>>> Markus
> >>>>>>>
> >>>>>>>
> >>>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
> >>>>>>>> Removing commons-digester-2.1 gives:
> >>>>>>>>
> >>>>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
> >>>>>>>>
> >>>>>>>> I am able to remove commons-digester3-3.2: the application does
> >>>>>>>> start.
> >>>>>>>>
> >>>>>>>> I will replace the application in production and check, if the
> >>>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher
> >>>>>>>> disappear.
> >>>>>>>>
> >>>>>>>> Regards
> >>>>>>>> Markus
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
> >>>>>>>>> Could you exclude commons-digester in the Tiles plugin?
> >>>>>>>>>
> >>>>>>>>> Regards
> >>>>>>>>> Łukasz
> >>>>>>>>>
> >>>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
> >>>>>>>>> <in...@flyingfischer.ch> napisał(a):
> >>>>>>>>>> hmm, in production I see from time to time:
> >>>>>>>>>>
> >>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not
> >>>>>>>>>> find action or
> >>>>>>>>>> result: /context/mypath?url=urlEncodedUrl
> >>>>>>>>>>
> >>>>>>>>>> The action exists and the result also, as redirectAction
> >>>>>>>>>>
> >>>>>>>>>>         <result name="resultName" type="redirectAction">
> >>>>>>>>>>               <param name="actionName">otherpath</param>
> >>>>>>>>>>               <param name="url">${url}</param>
> >>>>>>>>>>         </result>
> >>>>>>>>>>
> >>>>>>>>>> This behaviour seems to be new. I cannot reproduce it
> >>>>>>>>>> consistently, but
> >>>>>>>>>> there seems to be thrown an error in
> >>>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between
> >>>>>>>>>> these lines:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>           try {
> >>>>>>>>>>               String actionNamespace = mapping.getNamespace();
> >>>>>>>>>>               String actionName = mapping.getName();
> >>>>>>>>>>               String actionMethod = mapping.getMethod();
> >>>>>>>>>>
> >>>>>>>>>>               LOG.trace("Processing action, namespace: {},
> >>>>>>>>>> name: {},
> >>>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
> >>>>>>>>>>               ActionProxy proxy =
> >>>>>>>>>> prepareActionProxy(extraContext,
> >>>>>>>>>> actionNamespace, actionName, actionMethod);
> >>>>>>>>>>
> >>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
> >>>>>>>>>> proxy.getInvocation().getStack());
> >>>>>>>>>>
> >>>>>>>>>>               // if the ActionMapping says to go straight to
> >>>>>>>>>> a result, do it!
> >>>>>>>>>>               if (mapping.getResult() != null) {
> >>>>>>>>>>                   Result result = mapping.getResult();
> >>>>>>>>>> result.execute(proxy.getInvocation());
> >>>>>>>>>>               } else {
> >>>>>>>>>>                   proxy.execute();
> >>>>>>>>>>               }
> >>>>>>>>>>
> >>>>>>>>>>               // If there was a previous value stack then set
> >>>>>>>>>> it back
> >>>>>>>>>> onto the request
> >>>>>>>>>>               if (!nullStack) {
> >>>>>>>>>>
> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
> >>>>>>>>>> stack);
> >>>>>>>>>>               }
> >>>>>>>>>>           } catch (ConfigurationException e) {
> >>>>>>>>>>               logConfigurationException(request, e);
> >>>>>>>>>>               sendError(request, response,
> >>>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
> >>>>>>>>>>           }
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> The artifacts contains two version of commons-digester:
> >>>>>>>>>>
> >>>>>>>>>> commons-digester-2.1
> >>>>>>>>>> commons-digester3-3.2
> >>>>>>>>>>
> >>>>>>>>>> Any idea, what is causing this warning, which seems to be
> >>>>>>>>>> rather an error?
> >>>>>>>>>>
> >>>>>>>>>> Best Markus
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
> >>>>>>>>>>> Works fine here. Tested with tiles-plugin.
> >>>>>>>>>>>
> >>>>>>>>>>> Best regards
> >>>>>>>>>>> Markus
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
> >>>>>>>>>>>> Hello,
> >>>>>>>>>>>>
> >>>>>>>>>>>> This is the first patch version of Struts 6.x series.
> >>>>>>>>>>>> Please take the
> >>>>>>>>>>>> time and test the bits - any help is appreciated. Please
> >>>>>>>>>>>> report any
> >>>>>>>>>>>> problems you will spot.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
> >>>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
> >>>>>>>>>>>>
> >>>>>>>>>>>> Staging Maven repo
> >>>>>>>>>>>> https://repository.apache.org/content/groups/staging/
> >>>>>>>>>>>>
> >>>>>>>>>>>> Standalone artifacts
> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
> >>>>>>>>>>>>
> >>>>>>>>>>>> Release notes
> >>>>>>>>>>>>
> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> Kind regards
> >>>>>>>>>>>> --
> >>>>>>>>>>>> Łukasz
> >>>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>>>>>
> >>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>>>>>>>
> >>>>>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>>>>
> >>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>>>>>>
> >>>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>>
> >>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>
> >>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>
> >>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>>
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>>
> >>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
> --
(mobile)

Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
It looks like an cross-site issue: The error does only appear, when the 
request is called from a third party domain. When called from a 
subdomain of the main domain, the error does not appear.

Regards
Markus


Am 30.08.22 um 15:35 schrieb info@flyingfischer.ch:
> I am puzzled, calling the same request on the console works:
>
> curl -i -X OPTIONS https://domain/context/mypath?url=urlEncodedUrl
> HTTP/1.1 302
> Cache-control: no-cache, no-store
> Pragma: no-cache
> Expires: -1
> Vary: Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-User
> Cross-Origin-Embedder-Policy-Report-Only: require-corp
> Cross-Origin-Opener-Policy: same-origin
> Location: /context/otherpath?url=urlEncodedUrl
> Content-Language: de-CH
> Content-Length: 0
> Date: Tue, 30 Aug 2022 13:23:17 GMT
> Server: Apache
>
> I need to meditate...
>
> Regards
> Markus
>
> Am 30.08.22 um 14:41 schrieb info@flyingfischer.ch:
>> The action and the result actually do exist as redirectAction
>>
>>         <result name="resultName" type="redirectAction">
>>               <param name="actionName">otherpath</param>
>>               <param name="url">${url}</param>
>>         </result>
>>
>> This works:
>> GET /context/mypath?url=urlEncodedUrl HTTP/1.1"
>>
>> This fails:
>> OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404
>>
>> But yes, strange that OPTIONS returns 404, while WARN 
>> org.apache.struts2.dispatcher.Dispatcher returns 403.
>>
>> Regards
>> Markus
>>
>>
>> Am 30.08.22 um 14:32 schrieb Yasser Zamani:
>>> Thanks. I see "...and result 403..." so looks like the underlying 
>>> action has responded with 403 i.e. forbidden and you haven't defined 
>>> such result for this action in struts.xml? wdyt?
>>>
>>> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
>>>> Hi Yasser
>>>> sure.
>>>>
>>>> Regards
>>>> Markus
>>>>
>>>>
>>>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher 
>>>> - Could not find action or result: /context/mypath?url=urlEncodedUrl
>>>> No result defined for action ch.xx.xx.xx and result 403 - action - 
>>>> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128) 
>>>>
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>>>>          at 
>>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>>
>>>>          at 
>>>> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) 
>>>>
>>>>          at 
>>>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>>>>          at 
>>>> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) 
>>>>
>>>>          at 
>>>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 
>>>>
>>>>          at 
>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 
>>>>
>>>>          at 
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
>>>>
>>>>          at 
>>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 
>>>>
>>>>          at 
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 
>>>>
>>>>          at 
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>>>>          at 
>>>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>>>>          at 
>>>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 
>>>>
>>>>          at 
>>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) 
>>>>
>>>>          at 
>>>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078) 
>>>>
>>>>          at 
>>>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
>>>>
>>>>          at 
>>>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 
>>>>
>>>>          at 
>>>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 
>>>>
>>>>          at 
>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
>>>>
>>>>          at java.base/java.lang.Thread.run(Thread.java:833)
>>>>
>>>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>>>>> Hi Markus,
>>>>>
>>>>> I see corresponding codes in Struts:
>>>>>         if (devMode) {
>>>>>             LOG.error("Could not find action or result: {}", uri, e);
>>>>>         } else if (LOG.isWarnEnabled()) {
>>>>>             LOG.warn("Could not find action or result: {}", uri, e);
>>>>>         }
>>>>> so it seems you should also have the exception e stack trace 
>>>>> logged. Could you please share it as well? I guess you might 
>>>>> affected by [1] but honestly hard to say how. So the stack trace 
>>>>> could help a lot.
>>>>>
>>>>> Regards,
>>>>> Yasser
>>>>>
>>>>> [1] 
>>>>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b 
>>>>>
>>>>>
>>>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>>>>> If I see this correctly, this happens only with OPTIONS and HEAD 
>>>>>> requests....
>>>>>>
>>>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>>>>> After removing commons-digester3-3.2 and leaving 
>>>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>>>>>> production:
>>>>>>>
>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>>>>
>>>>>>> Seems to be a new issue in Struts6 and not really related to 
>>>>>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>>>>>> straightforward. I just see the error in the log. Calling the 
>>>>>>> path directly does not cause the issue. May there be a 
>>>>>>> connection with a not present session?
>>>>>>>
>>>>>>> Markus
>>>>>>>
>>>>>>>
>>>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>>>>> Removing commons-digester-2.1 gives:
>>>>>>>>
>>>>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>>>>
>>>>>>>> I am able to remove commons-digester3-3.2: the application does 
>>>>>>>> start.
>>>>>>>>
>>>>>>>> I will replace the application in production and check, if the 
>>>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>>>>>> disappear.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Markus
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> Łukasz
>>>>>>>>>
>>>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>>>>> hmm, in production I see from time to time:
>>>>>>>>>>
>>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not 
>>>>>>>>>> find action or
>>>>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>>
>>>>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>>>>
>>>>>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>>>>>               <param name="actionName">otherpath</param>
>>>>>>>>>>               <param name="url">${url}</param>
>>>>>>>>>>         </result>
>>>>>>>>>>
>>>>>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>>>>>> consistently, but
>>>>>>>>>> there seems to be thrown an error in
>>>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between 
>>>>>>>>>> these lines:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>           try {
>>>>>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>>>>>               String actionName = mapping.getName();
>>>>>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>>>>>
>>>>>>>>>>               LOG.trace("Processing action, namespace: {}, 
>>>>>>>>>> name: {},
>>>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>>>>               ActionProxy proxy = 
>>>>>>>>>> prepareActionProxy(extraContext,
>>>>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>>>>
>>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>>>> proxy.getInvocation().getStack());
>>>>>>>>>>
>>>>>>>>>>               // if the ActionMapping says to go straight to 
>>>>>>>>>> a result, do it!
>>>>>>>>>>               if (mapping.getResult() != null) {
>>>>>>>>>>                   Result result = mapping.getResult();
>>>>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>>>>               } else {
>>>>>>>>>>                   proxy.execute();
>>>>>>>>>>               }
>>>>>>>>>>
>>>>>>>>>>               // If there was a previous value stack then set 
>>>>>>>>>> it back
>>>>>>>>>> onto the request
>>>>>>>>>>               if (!nullStack) {
>>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>>>>> stack);
>>>>>>>>>>               }
>>>>>>>>>>           } catch (ConfigurationException e) {
>>>>>>>>>>               logConfigurationException(request, e);
>>>>>>>>>>               sendError(request, response,
>>>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>>>>           }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>>>>
>>>>>>>>>> commons-digester-2.1
>>>>>>>>>> commons-digester3-3.2
>>>>>>>>>>
>>>>>>>>>> Any idea, what is causing this warning, which seems to be 
>>>>>>>>>> rather an error?
>>>>>>>>>>
>>>>>>>>>> Best Markus
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>>>>
>>>>>>>>>>> Best regards
>>>>>>>>>>> Markus
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>>>>> Hello,
>>>>>>>>>>>>
>>>>>>>>>>>> This is the first patch version of Struts 6.x series. 
>>>>>>>>>>>> Please take the
>>>>>>>>>>>> time and test the bits - any help is appreciated. Please 
>>>>>>>>>>>> report any
>>>>>>>>>>>> problems you will spot.
>>>>>>>>>>>>
>>>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>>>>
>>>>>>>>>>>> Staging Maven repo
>>>>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>>>>
>>>>>>>>>>>> Standalone artifacts
>>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>>>>
>>>>>>>>>>>> Release notes
>>>>>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2 
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Kind regards
>>>>>>>>>>>> -- 
>>>>>>>>>>>> Łukasz
>>>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>>>>
>>>>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>>>>
>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>>
>>>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>>>
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
I am puzzled, calling the same request on the console works:

curl -i -X OPTIONS https://domain/context/mypath?url=urlEncodedUrl
HTTP/1.1 302
Cache-control: no-cache, no-store
Pragma: no-cache
Expires: -1
Vary: Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,Sec-Fetch-User
Cross-Origin-Embedder-Policy-Report-Only: require-corp
Cross-Origin-Opener-Policy: same-origin
Location: /context/otherpath?url=urlEncodedUrl
Content-Language: de-CH
Content-Length: 0
Date: Tue, 30 Aug 2022 13:23:17 GMT
Server: Apache

I need to meditate...

Regards
Markus

Am 30.08.22 um 14:41 schrieb info@flyingfischer.ch:
> The action and the result actually do exist as redirectAction
>
>         <result name="resultName" type="redirectAction">
>               <param name="actionName">otherpath</param>
>               <param name="url">${url}</param>
>         </result>
>
> This works:
> GET /context/mypath?url=urlEncodedUrl HTTP/1.1"
>
> This fails:
> OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404
>
> But yes, strange that OPTIONS returns 404, while WARN 
> org.apache.struts2.dispatcher.Dispatcher returns 403.
>
> Regards
> Markus
>
>
> Am 30.08.22 um 14:32 schrieb Yasser Zamani:
>> Thanks. I see "...and result 403..." so looks like the underlying 
>> action has responded with 403 i.e. forbidden and you haven't defined 
>> such result for this action in struts.xml? wdyt?
>>
>> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
>>> Hi Yasser
>>> sure.
>>>
>>> Regards
>>> Markus
>>>
>>>
>>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher 
>>> - Could not find action or result: /context/mypath?url=urlEncodedUrl
>>> No result defined for action ch.xx.xx.xx and result 403 - action - 
>>> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128) 
>>>
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>>>          at 
>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>>
>>>          at 
>>> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) 
>>>
>>>          at 
>>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>>>          at 
>>> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) 
>>>
>>>          at 
>>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) 
>>>
>>>          at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
>>>
>>>          at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
>>>
>>>          at 
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) 
>>>
>>>          at 
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 
>>>
>>>          at 
>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) 
>>>
>>>          at 
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 
>>>
>>>          at 
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
>>>
>>>          at 
>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 
>>>
>>>          at 
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 
>>>
>>>          at 
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>>>          at 
>>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>>>          at 
>>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 
>>>
>>>          at 
>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) 
>>>
>>>          at 
>>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078) 
>>>
>>>          at 
>>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
>>>
>>>          at 
>>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 
>>>
>>>          at 
>>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 
>>>
>>>          at 
>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
>>>
>>>          at java.base/java.lang.Thread.run(Thread.java:833)
>>>
>>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>>>> Hi Markus,
>>>>
>>>> I see corresponding codes in Struts:
>>>>         if (devMode) {
>>>>             LOG.error("Could not find action or result: {}", uri, e);
>>>>         } else if (LOG.isWarnEnabled()) {
>>>>             LOG.warn("Could not find action or result: {}", uri, e);
>>>>         }
>>>> so it seems you should also have the exception e stack trace 
>>>> logged. Could you please share it as well? I guess you might 
>>>> affected by [1] but honestly hard to say how. So the stack trace 
>>>> could help a lot.
>>>>
>>>> Regards,
>>>> Yasser
>>>>
>>>> [1] 
>>>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b 
>>>>
>>>>
>>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>>>> If I see this correctly, this happens only with OPTIONS and HEAD 
>>>>> requests....
>>>>>
>>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>>>> After removing commons-digester3-3.2 and leaving 
>>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>>>>> production:
>>>>>>
>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>>>
>>>>>> Seems to be a new issue in Struts6 and not really related to 
>>>>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>>>>> straightforward. I just see the error in the log. Calling the 
>>>>>> path directly does not cause the issue. May there be a connection 
>>>>>> with a not present session?
>>>>>>
>>>>>> Markus
>>>>>>
>>>>>>
>>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>>>> Removing commons-digester-2.1 gives:
>>>>>>>
>>>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>>>
>>>>>>> I am able to remove commons-digester3-3.2: the application does 
>>>>>>> start.
>>>>>>>
>>>>>>> I will replace the application in production and check, if the 
>>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>>>>> disappear.
>>>>>>>
>>>>>>> Regards
>>>>>>> Markus
>>>>>>>
>>>>>>>
>>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Łukasz
>>>>>>>>
>>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>>>> hmm, in production I see from time to time:
>>>>>>>>>
>>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>>>>> action or
>>>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>>>
>>>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>>>
>>>>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>>>>               <param name="actionName">otherpath</param>
>>>>>>>>>               <param name="url">${url}</param>
>>>>>>>>>         </result>
>>>>>>>>>
>>>>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>>>>> consistently, but
>>>>>>>>> there seems to be thrown an error in
>>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between 
>>>>>>>>> these lines:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           try {
>>>>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>>>>               String actionName = mapping.getName();
>>>>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>>>>
>>>>>>>>>               LOG.trace("Processing action, namespace: {}, 
>>>>>>>>> name: {},
>>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>>>               ActionProxy proxy = 
>>>>>>>>> prepareActionProxy(extraContext,
>>>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>>>
>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>>> proxy.getInvocation().getStack());
>>>>>>>>>
>>>>>>>>>               // if the ActionMapping says to go straight to a 
>>>>>>>>> result, do it!
>>>>>>>>>               if (mapping.getResult() != null) {
>>>>>>>>>                   Result result = mapping.getResult();
>>>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>>>               } else {
>>>>>>>>>                   proxy.execute();
>>>>>>>>>               }
>>>>>>>>>
>>>>>>>>>               // If there was a previous value stack then set 
>>>>>>>>> it back
>>>>>>>>> onto the request
>>>>>>>>>               if (!nullStack) {
>>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>>>> stack);
>>>>>>>>>               }
>>>>>>>>>           } catch (ConfigurationException e) {
>>>>>>>>>               logConfigurationException(request, e);
>>>>>>>>>               sendError(request, response,
>>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>>>           }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>>>
>>>>>>>>> commons-digester-2.1
>>>>>>>>> commons-digester3-3.2
>>>>>>>>>
>>>>>>>>> Any idea, what is causing this warning, which seems to be 
>>>>>>>>> rather an error?
>>>>>>>>>
>>>>>>>>> Best Markus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>>>
>>>>>>>>>> Best regards
>>>>>>>>>> Markus
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> This is the first patch version of Struts 6.x series. Please 
>>>>>>>>>>> take the
>>>>>>>>>>> time and test the bits - any help is appreciated. Please 
>>>>>>>>>>> report any
>>>>>>>>>>> problems you will spot.
>>>>>>>>>>>
>>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>>>
>>>>>>>>>>> Staging Maven repo
>>>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>>>
>>>>>>>>>>> Standalone artifacts
>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>>>
>>>>>>>>>>> Release notes
>>>>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2 
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Kind regards
>>>>>>>>>>> -- 
>>>>>>>>>>> Łukasz
>>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>>>
>>>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>>>
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>>
>>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>>
>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
The action and the result actually do exist as redirectAction

         <result name="resultName" type="redirectAction">
               <param name="actionName">otherpath</param>
               <param name="url">${url}</param>
         </result>

This works:
GET /context/mypath?url=urlEncodedUrl HTTP/1.1"

This fails:
OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404

But yes, strange that OPTIONS returns 404, while WARN 
org.apache.struts2.dispatcher.Dispatcher returns 403.

Regards
Markus


Am 30.08.22 um 14:32 schrieb Yasser Zamani:
> Thanks. I see "...and result 403..." so looks like the underlying 
> action has responded with 403 i.e. forbidden and you haven't defined 
> such result for this action in struts.xml? wdyt?
>
> On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
>> Hi Yasser
>> sure.
>>
>> Regards
>> Markus
>>
>>
>> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher - 
>> Could not find action or result: /context/mypath?url=urlEncodedUrl
>> No result defined for action ch.xx.xx.xx and result 403 - action - 
>> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280) 
>>
>>          at 
>> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128) 
>>
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>>          at 
>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
>>
>>          at 
>> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) 
>>
>>          at 
>> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>>          at 
>> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) 
>>
>>          at 
>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) 
>>
>>          at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
>>
>>          at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
>>
>>          at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) 
>>
>>          at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 
>>
>>          at 
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) 
>>
>>          at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 
>>
>>          at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
>>
>>          at 
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 
>>
>>          at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 
>>
>>          at 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>>          at 
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>>          at 
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 
>>
>>          at 
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) 
>>
>>          at 
>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078) 
>>
>>          at 
>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
>>
>>          at 
>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 
>>
>>          at 
>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 
>>
>>          at 
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
>>
>>          at java.base/java.lang.Thread.run(Thread.java:833)
>>
>> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>>> Hi Markus,
>>>
>>> I see corresponding codes in Struts:
>>>         if (devMode) {
>>>             LOG.error("Could not find action or result: {}", uri, e);
>>>         } else if (LOG.isWarnEnabled()) {
>>>             LOG.warn("Could not find action or result: {}", uri, e);
>>>         }
>>> so it seems you should also have the exception e stack trace logged. 
>>> Could you please share it as well? I guess you might affected by [1] 
>>> but honestly hard to say how. So the stack trace could help a lot.
>>>
>>> Regards,
>>> Yasser
>>>
>>> [1] 
>>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b 
>>>
>>>
>>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>>> If I see this correctly, this happens only with OPTIONS and HEAD 
>>>> requests....
>>>>
>>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>>> After removing commons-digester3-3.2 and leaving 
>>>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>>>> production:
>>>>>
>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>>
>>>>> Seems to be a new issue in Struts6 and not really related to 
>>>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>>>> straightforward. I just see the error in the log. Calling the path 
>>>>> directly does not cause the issue. May there be a connection with 
>>>>> a not present session?
>>>>>
>>>>> Markus
>>>>>
>>>>>
>>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>>> Removing commons-digester-2.1 gives:
>>>>>>
>>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>>
>>>>>> I am able to remove commons-digester3-3.2: the application does 
>>>>>> start.
>>>>>>
>>>>>> I will replace the application in production and check, if the 
>>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>>>> disappear.
>>>>>>
>>>>>> Regards
>>>>>> Markus
>>>>>>
>>>>>>
>>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>>
>>>>>>> Regards
>>>>>>> Łukasz
>>>>>>>
>>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>>> hmm, in production I see from time to time:
>>>>>>>>
>>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>>>> action or
>>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>>
>>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>>
>>>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>>>               <param name="actionName">otherpath</param>
>>>>>>>>               <param name="url">${url}</param>
>>>>>>>>         </result>
>>>>>>>>
>>>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>>>> consistently, but
>>>>>>>> there seems to be thrown an error in
>>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between 
>>>>>>>> these lines:
>>>>>>>>
>>>>>>>>
>>>>>>>>           try {
>>>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>>>               String actionName = mapping.getName();
>>>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>>>
>>>>>>>>               LOG.trace("Processing action, namespace: {}, 
>>>>>>>> name: {},
>>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>>
>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>>> proxy.getInvocation().getStack());
>>>>>>>>
>>>>>>>>               // if the ActionMapping says to go straight to a 
>>>>>>>> result, do it!
>>>>>>>>               if (mapping.getResult() != null) {
>>>>>>>>                   Result result = mapping.getResult();
>>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>>               } else {
>>>>>>>>                   proxy.execute();
>>>>>>>>               }
>>>>>>>>
>>>>>>>>               // If there was a previous value stack then set 
>>>>>>>> it back
>>>>>>>> onto the request
>>>>>>>>               if (!nullStack) {
>>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>>> stack);
>>>>>>>>               }
>>>>>>>>           } catch (ConfigurationException e) {
>>>>>>>>               logConfigurationException(request, e);
>>>>>>>>               sendError(request, response,
>>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>>           }
>>>>>>>>
>>>>>>>>
>>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>>
>>>>>>>> commons-digester-2.1
>>>>>>>> commons-digester3-3.2
>>>>>>>>
>>>>>>>> Any idea, what is causing this warning, which seems to be 
>>>>>>>> rather an error?
>>>>>>>>
>>>>>>>> Best Markus
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> Markus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> This is the first patch version of Struts 6.x series. Please 
>>>>>>>>>> take the
>>>>>>>>>> time and test the bits - any help is appreciated. Please 
>>>>>>>>>> report any
>>>>>>>>>> problems you will spot.
>>>>>>>>>>
>>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>>
>>>>>>>>>> Staging Maven repo
>>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>>
>>>>>>>>>> Standalone artifacts
>>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>>
>>>>>>>>>> Release notes
>>>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Kind regards
>>>>>>>>>> -- 
>>>>>>>>>> Łukasz
>>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>>
>>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>>
>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Yasser Zamani <ya...@apache.org>.
Thanks. I see "...and result 403..." so looks like the underlying action 
has responded with 403 i.e. forbidden and you haven't defined such 
result for this action in struts.xml? wdyt?

On 8/29/2022 8:32 PM, info@flyingfischer.ch wrote:
> Hi Yasser
> sure.
> 
> Regards
> Markus
> 
> 
> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher - 
> Could not find action or result: /context/mypath?url=urlEncodedUrl
> No result defined for action ch.xx.xx.xx and result 403 - action - 
> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280) 
> 
>          at 
> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128) 
> 
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>          at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) 
> 
>          at 
> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) 
> 
>          at 
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>          at 
> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) 
> 
>          at 
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) 
> 
>          at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
> 
>          at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
> 
>          at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) 
> 
>          at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 
> 
>          at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) 
> 
>          at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 
> 
>          at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
> 
>          at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) 
> 
>          at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 
> 
>          at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>          at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>          at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 
> 
>          at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) 
> 
>          at 
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078) 
> 
>          at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
> 
>          at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 
> 
>          at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 
> 
>          at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
> 
>          at java.base/java.lang.Thread.run(Thread.java:833)
> 
> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>> Hi Markus,
>>
>> I see corresponding codes in Struts:
>>         if (devMode) {
>>             LOG.error("Could not find action or result: {}", uri, e);
>>         } else if (LOG.isWarnEnabled()) {
>>             LOG.warn("Could not find action or result: {}", uri, e);
>>         }
>> so it seems you should also have the exception e stack trace logged. 
>> Could you please share it as well? I guess you might affected by [1] 
>> but honestly hard to say how. So the stack trace could help a lot.
>>
>> Regards,
>> Yasser
>>
>> [1] 
>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b 
>>
>>
>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>> If I see this correctly, this happens only with OPTIONS and HEAD 
>>> requests....
>>>
>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>> After removing commons-digester3-3.2 and leaving 
>>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>>> production:
>>>>
>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>
>>>> Seems to be a new issue in Struts6 and not really related to 
>>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>>> straightforward. I just see the error in the log. Calling the path 
>>>> directly does not cause the issue. May there be a connection with a 
>>>> not present session?
>>>>
>>>> Markus
>>>>
>>>>
>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>> Removing commons-digester-2.1 gives:
>>>>>
>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>
>>>>> I am able to remove commons-digester3-3.2: the application does start.
>>>>>
>>>>> I will replace the application in production and check, if the 
>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>>> disappear.
>>>>>
>>>>> Regards
>>>>> Markus
>>>>>
>>>>>
>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>
>>>>>> Regards
>>>>>> Łukasz
>>>>>>
>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>> hmm, in production I see from time to time:
>>>>>>>
>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>>> action or
>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>
>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>
>>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>>               <param name="actionName">otherpath</param>
>>>>>>>               <param name="url">${url}</param>
>>>>>>>         </result>
>>>>>>>
>>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>>> consistently, but
>>>>>>> there seems to be thrown an error in
>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these 
>>>>>>> lines:
>>>>>>>
>>>>>>>
>>>>>>>           try {
>>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>>               String actionName = mapping.getName();
>>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>>
>>>>>>>               LOG.trace("Processing action, namespace: {}, name: {},
>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>
>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>> proxy.getInvocation().getStack());
>>>>>>>
>>>>>>>               // if the ActionMapping says to go straight to a 
>>>>>>> result, do it!
>>>>>>>               if (mapping.getResult() != null) {
>>>>>>>                   Result result = mapping.getResult();
>>>>>>>                   result.execute(proxy.getInvocation());
>>>>>>>               } else {
>>>>>>>                   proxy.execute();
>>>>>>>               }
>>>>>>>
>>>>>>>               // If there was a previous value stack then set it 
>>>>>>> back
>>>>>>> onto the request
>>>>>>>               if (!nullStack) {
>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>> stack);
>>>>>>>               }
>>>>>>>           } catch (ConfigurationException e) {
>>>>>>>               logConfigurationException(request, e);
>>>>>>>               sendError(request, response,
>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>           }
>>>>>>>
>>>>>>>
>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>
>>>>>>> commons-digester-2.1
>>>>>>> commons-digester3-3.2
>>>>>>>
>>>>>>> Any idea, what is causing this warning, which seems to be rather 
>>>>>>> an error?
>>>>>>>
>>>>>>> Best Markus
>>>>>>>
>>>>>>>
>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>> Markus
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> This is the first patch version of Struts 6.x series. Please 
>>>>>>>>> take the
>>>>>>>>> time and test the bits - any help is appreciated. Please report 
>>>>>>>>> any
>>>>>>>>> problems you will spot.
>>>>>>>>>
>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>
>>>>>>>>> Staging Maven repo
>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>
>>>>>>>>> Standalone artifacts
>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>
>>>>>>>>> Release notes
>>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Kind regards
>>>>>>>>> -- 
>>>>>>>>> Łukasz
>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Indeed I use

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">

Regards
Markus


Am 30.08.22 um 14:39 schrieb Lukasz Lenart:
> Do you use the proper Servlet 3.1 headers in web.xml?
>
> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
>           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>           xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
>           http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
>           version="3.1">
>
>
> Regards
> Łukasz
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
Do you use the proper Servlet 3.1 headers in web.xml?

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">


Regards
Łukasz

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
The corresponding request is

OPTIONS /context/mypath?url=urlEncodedUrl HTTP/1.1" 404

The same request as GET or POST will work fine. OPTIONS and HEAD 
requests crash.

Regards
Markus


Am 29.08.22 um 18:02 schrieb info@flyingfischer.ch:
> Hi Yasser
> sure.
>
> Regards
> Markus
>
>
> 29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher - 
> Could not find action or result: /context/mypath?url=urlEncodedUrl
> No result defined for action ch.xx.xx.xx and result 403 - action - 
> file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65 
>
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280)
>         at 
> org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143)
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
>         at 
> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
>         at 
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
>         at 
> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
>         at 
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
>         at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
>         at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
>         at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
>         at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
>         at 
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078)
>         at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>         at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.base/java.lang.Thread.run(Thread.java:833)
>
> Am 29.08.22 um 17:39 schrieb Yasser Zamani:
>> Hi Markus,
>>
>> I see corresponding codes in Struts:
>>         if (devMode) {
>>             LOG.error("Could not find action or result: {}", uri, e);
>>         } else if (LOG.isWarnEnabled()) {
>>             LOG.warn("Could not find action or result: {}", uri, e);
>>         }
>> so it seems you should also have the exception e stack trace logged. 
>> Could you please share it as well? I guess you might affected by [1] 
>> but honestly hard to say how. So the stack trace could help a lot.
>>
>> Regards,
>> Yasser
>>
>> [1] 
>> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b
>>
>> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>>> If I see this correctly, this happens only with OPTIONS and HEAD 
>>> requests....
>>>
>>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>>> After removing commons-digester3-3.2 and leaving 
>>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>>> production:
>>>>
>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>> action or result: /context/mypath?url=urlEncodedUrl
>>>>
>>>> Seems to be a new issue in Struts6 and not really related to 
>>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>>> straightforward. I just see the error in the log. Calling the path 
>>>> directly does not cause the issue. May there be a connection with a 
>>>> not present session?
>>>>
>>>> Markus
>>>>
>>>>
>>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>>> Removing commons-digester-2.1 gives:
>>>>>
>>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>>
>>>>> I am able to remove commons-digester3-3.2: the application does 
>>>>> start.
>>>>>
>>>>> I will replace the application in production and check, if the 
>>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>>> disappear.
>>>>>
>>>>> Regards
>>>>> Markus
>>>>>
>>>>>
>>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>>
>>>>>> Regards
>>>>>> Łukasz
>>>>>>
>>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>>> hmm, in production I see from time to time:
>>>>>>>
>>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>>> action or
>>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>>
>>>>>>> The action exists and the result also, as redirectAction
>>>>>>>
>>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>>               <param name="actionName">otherpath</param>
>>>>>>>               <param name="url">${url}</param>
>>>>>>>         </result>
>>>>>>>
>>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>>> consistently, but
>>>>>>> there seems to be thrown an error in
>>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between 
>>>>>>> these lines:
>>>>>>>
>>>>>>>
>>>>>>>           try {
>>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>>               String actionName = mapping.getName();
>>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>>
>>>>>>>               LOG.trace("Processing action, namespace: {}, name: 
>>>>>>> {},
>>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>>
>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>>> proxy.getInvocation().getStack());
>>>>>>>
>>>>>>>               // if the ActionMapping says to go straight to a 
>>>>>>> result, do it!
>>>>>>>               if (mapping.getResult() != null) {
>>>>>>>                   Result result = mapping.getResult();
>>>>>>> result.execute(proxy.getInvocation());
>>>>>>>               } else {
>>>>>>>                   proxy.execute();
>>>>>>>               }
>>>>>>>
>>>>>>>               // If there was a previous value stack then set it 
>>>>>>> back
>>>>>>> onto the request
>>>>>>>               if (!nullStack) {
>>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>>> stack);
>>>>>>>               }
>>>>>>>           } catch (ConfigurationException e) {
>>>>>>>               logConfigurationException(request, e);
>>>>>>>               sendError(request, response,
>>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>>           }
>>>>>>>
>>>>>>>
>>>>>>> The artifacts contains two version of commons-digester:
>>>>>>>
>>>>>>> commons-digester-2.1
>>>>>>> commons-digester3-3.2
>>>>>>>
>>>>>>> Any idea, what is causing this warning, which seems to be rather 
>>>>>>> an error?
>>>>>>>
>>>>>>> Best Markus
>>>>>>>
>>>>>>>
>>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>> Markus
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> This is the first patch version of Struts 6.x series. Please 
>>>>>>>>> take the
>>>>>>>>> time and test the bits - any help is appreciated. Please 
>>>>>>>>> report any
>>>>>>>>> problems you will spot.
>>>>>>>>>
>>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>>
>>>>>>>>> Staging Maven repo
>>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>>
>>>>>>>>> Standalone artifacts
>>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>>
>>>>>>>>> Release notes
>>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2 
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Kind regards
>>>>>>>>> -- 
>>>>>>>>> Łukasz
>>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Hi Yasser
sure.

Regards
Markus


29-08-2022 16:12:47.8 WARN org.apache.struts2.dispatcher.Dispatcher - 
Could not find action or result: /context/mypath?url=urlEncodedUrl
No result defined for action ch.xx.xx.xx and result 403 - action - 
file:/xx/xx/xx/apache-tomcat-8.5.81/webapps/context/WEB-INF/classes/struts.xml:223:65
         at 
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280)
         at 
org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143)
         at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
         at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:146)
         at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:202)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:242)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:161)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
         at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.csp.CspInterceptor.intercept(CspInterceptor.java:46)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:209)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:229)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:28)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
         at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
         at 
org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
         at 
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:630)
         at 
org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
         at 
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
         at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
         at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
         at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
         at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
         at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
         at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
         at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
         at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
         at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
         at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
         at 
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2078)
         at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
         at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
         at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
         at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
         at java.base/java.lang.Thread.run(Thread.java:833)

Am 29.08.22 um 17:39 schrieb Yasser Zamani:
> Hi Markus,
>
> I see corresponding codes in Struts:
>         if (devMode) {
>             LOG.error("Could not find action or result: {}", uri, e);
>         } else if (LOG.isWarnEnabled()) {
>             LOG.warn("Could not find action or result: {}", uri, e);
>         }
> so it seems you should also have the exception e stack trace logged. 
> Could you please share it as well? I guess you might affected by [1] 
> but honestly hard to say how. So the stack trace could help a lot.
>
> Regards,
> Yasser
>
> [1] 
> https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b
>
> On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
>> If I see this correctly, this happens only with OPTIONS and HEAD 
>> requests....
>>
>> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>>> After removing commons-digester3-3.2 and leaving 
>>> commons-digester-2.1 only, I still get the Warnings/Errors in 
>>> production:
>>>
>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>> action or result: /context/mypath?url=urlEncodedUrl
>>>
>>> Seems to be a new issue in Struts6 and not really related to 
>>> commons-digester? Unfortunately I cannot reproduce the issue 
>>> straightforward. I just see the error in the log. Calling the path 
>>> directly does not cause the issue. May there be a connection with a 
>>> not present session?
>>>
>>> Markus
>>>
>>>
>>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>>> Removing commons-digester-2.1 gives:
>>>>
>>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>>
>>>> I am able to remove commons-digester3-3.2: the application does start.
>>>>
>>>> I will replace the application in production and check, if the 
>>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher 
>>>> disappear.
>>>>
>>>> Regards
>>>> Markus
>>>>
>>>>
>>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>>
>>>>> Regards
>>>>> Łukasz
>>>>>
>>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>>> <in...@flyingfischer.ch> napisał(a):
>>>>>> hmm, in production I see from time to time:
>>>>>>
>>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>>> action or
>>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>>
>>>>>> The action exists and the result also, as redirectAction
>>>>>>
>>>>>>         <result name="resultName" type="redirectAction">
>>>>>>               <param name="actionName">otherpath</param>
>>>>>>               <param name="url">${url}</param>
>>>>>>         </result>
>>>>>>
>>>>>> This behaviour seems to be new. I cannot reproduce it 
>>>>>> consistently, but
>>>>>> there seems to be thrown an error in
>>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these 
>>>>>> lines:
>>>>>>
>>>>>>
>>>>>>           try {
>>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>>               String actionName = mapping.getName();
>>>>>>               String actionMethod = mapping.getMethod();
>>>>>>
>>>>>>               LOG.trace("Processing action, namespace: {}, name: {},
>>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>>>> actionNamespace, actionName, actionMethod);
>>>>>>
>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>>> proxy.getInvocation().getStack());
>>>>>>
>>>>>>               // if the ActionMapping says to go straight to a 
>>>>>> result, do it!
>>>>>>               if (mapping.getResult() != null) {
>>>>>>                   Result result = mapping.getResult();
>>>>>>                   result.execute(proxy.getInvocation());
>>>>>>               } else {
>>>>>>                   proxy.execute();
>>>>>>               }
>>>>>>
>>>>>>               // If there was a previous value stack then set it 
>>>>>> back
>>>>>> onto the request
>>>>>>               if (!nullStack) {
>>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>>> stack);
>>>>>>               }
>>>>>>           } catch (ConfigurationException e) {
>>>>>>               logConfigurationException(request, e);
>>>>>>               sendError(request, response,
>>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>>           }
>>>>>>
>>>>>>
>>>>>> The artifacts contains two version of commons-digester:
>>>>>>
>>>>>> commons-digester-2.1
>>>>>> commons-digester3-3.2
>>>>>>
>>>>>> Any idea, what is causing this warning, which seems to be rather 
>>>>>> an error?
>>>>>>
>>>>>> Best Markus
>>>>>>
>>>>>>
>>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>>
>>>>>>> Best regards
>>>>>>> Markus
>>>>>>>
>>>>>>>
>>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> This is the first patch version of Struts 6.x series. Please 
>>>>>>>> take the
>>>>>>>> time and test the bits - any help is appreciated. Please report 
>>>>>>>> any
>>>>>>>> problems you will spot.
>>>>>>>>
>>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>>
>>>>>>>> Staging Maven repo
>>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>>
>>>>>>>> Standalone artifacts
>>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>>
>>>>>>>> Release notes
>>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>>>
>>>>>>>>
>>>>>>>> Kind regards
>>>>>>>> -- 
>>>>>>>> Łukasz
>>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Yasser Zamani <ya...@apache.org>.
Hi Markus,

I see corresponding codes in Struts:
         if (devMode) {
             LOG.error("Could not find action or result: {}", uri, e);
         } else if (LOG.isWarnEnabled()) {
             LOG.warn("Could not find action or result: {}", uri, e);
         }
so it seems you should also have the exception e stack trace logged. 
Could you please share it as well? I guess you might affected by [1] but 
honestly hard to say how. So the stack trace could help a lot.

Regards,
Yasser

[1] 
https://github.com/apache/struts/commit/1c2b491a27b48a0b064b991a6cef63db5e6cb28b

On 8/29/2022 5:22 PM, info@flyingfischer.ch wrote:
> If I see this correctly, this happens only with OPTIONS and HEAD 
> requests....
> 
> Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
>> After removing commons-digester3-3.2 and leaving commons-digester-2.1 
>> only, I still get the Warnings/Errors in production:
>>
>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action 
>> or result: /context/mypath?url=urlEncodedUrl
>>
>> Seems to be a new issue in Struts6 and not really related to 
>> commons-digester? Unfortunately I cannot reproduce the issue 
>> straightforward. I just see the error in the log. Calling the path 
>> directly does not cause the issue. May there be a connection with a 
>> not present session?
>>
>> Markus
>>
>>
>> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>>> Removing commons-digester-2.1 gives:
>>>
>>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>>
>>> I am able to remove commons-digester3-3.2: the application does start.
>>>
>>> I will replace the application in production and check, if the 
>>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher disappear.
>>>
>>> Regards
>>> Markus
>>>
>>>
>>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>>> Could you exclude commons-digester in the Tiles plugin?
>>>>
>>>> Regards
>>>> Łukasz
>>>>
>>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>>> <in...@flyingfischer.ch> napisał(a):
>>>>> hmm, in production I see from time to time:
>>>>>
>>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>>> action or
>>>>> result: /context/mypath?url=urlEncodedUrl
>>>>>
>>>>> The action exists and the result also, as redirectAction
>>>>>
>>>>>         <result name="resultName" type="redirectAction">
>>>>>               <param name="actionName">otherpath</param>
>>>>>               <param name="url">${url}</param>
>>>>>         </result>
>>>>>
>>>>> This behaviour seems to be new. I cannot reproduce it consistently, 
>>>>> but
>>>>> there seems to be thrown an error in
>>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these 
>>>>> lines:
>>>>>
>>>>>
>>>>>           try {
>>>>>               String actionNamespace = mapping.getNamespace();
>>>>>               String actionName = mapping.getName();
>>>>>               String actionMethod = mapping.getMethod();
>>>>>
>>>>>               LOG.trace("Processing action, namespace: {}, name: {},
>>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>>> actionNamespace, actionName, actionMethod);
>>>>>
>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>>> proxy.getInvocation().getStack());
>>>>>
>>>>>               // if the ActionMapping says to go straight to a 
>>>>> result, do it!
>>>>>               if (mapping.getResult() != null) {
>>>>>                   Result result = mapping.getResult();
>>>>>                   result.execute(proxy.getInvocation());
>>>>>               } else {
>>>>>                   proxy.execute();
>>>>>               }
>>>>>
>>>>>               // If there was a previous value stack then set it back
>>>>> onto the request
>>>>>               if (!nullStack) {
>>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>>> stack);
>>>>>               }
>>>>>           } catch (ConfigurationException e) {
>>>>>               logConfigurationException(request, e);
>>>>>               sendError(request, response,
>>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>>           }
>>>>>
>>>>>
>>>>> The artifacts contains two version of commons-digester:
>>>>>
>>>>> commons-digester-2.1
>>>>> commons-digester3-3.2
>>>>>
>>>>> Any idea, what is causing this warning, which seems to be rather an 
>>>>> error?
>>>>>
>>>>> Best Markus
>>>>>
>>>>>
>>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>>> Works fine here. Tested with tiles-plugin.
>>>>>>
>>>>>> Best regards
>>>>>> Markus
>>>>>>
>>>>>>
>>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>>> Hello,
>>>>>>>
>>>>>>> This is the first patch version of Struts 6.x series. Please take 
>>>>>>> the
>>>>>>> time and test the bits - any help is appreciated. Please report any
>>>>>>> problems you will spot.
>>>>>>>
>>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>>
>>>>>>> Staging Maven repo
>>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>>
>>>>>>> Standalone artifacts
>>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>>
>>>>>>> Release notes
>>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>>
>>>>>>>
>>>>>>> Kind regards
>>>>>>> -- 
>>>>>>> Łukasz
>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
If I see this correctly, this happens only with OPTIONS and HEAD 
requests....

Am 29.08.22 um 14:09 schrieb info@flyingfischer.ch:
> After removing commons-digester3-3.2 and leaving commons-digester-2.1 
> only, I still get the Warnings/Errors in production:
>
> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action 
> or result: /context/mypath?url=urlEncodedUrl
>
> Seems to be a new issue in Struts6 and not really related to 
> commons-digester? Unfortunately I cannot reproduce the issue 
> straightforward. I just see the error in the log. Calling the path 
> directly does not cause the issue. May there be a connection with a 
> not present session?
>
> Markus
>
>
> Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
>> Removing commons-digester-2.1 gives:
>>
>> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>>
>> I am able to remove commons-digester3-3.2: the application does start.
>>
>> I will replace the application in production and check, if the 
>> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher disappear.
>>
>> Regards
>> Markus
>>
>>
>> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>>> Could you exclude commons-digester in the Tiles plugin?
>>>
>>> Regards
>>> Łukasz
>>>
>>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>>> <in...@flyingfischer.ch> napisał(a):
>>>> hmm, in production I see from time to time:
>>>>
>>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>>> action or
>>>> result: /context/mypath?url=urlEncodedUrl
>>>>
>>>> The action exists and the result also, as redirectAction
>>>>
>>>>         <result name="resultName" type="redirectAction">
>>>>               <param name="actionName">otherpath</param>
>>>>               <param name="url">${url}</param>
>>>>         </result>
>>>>
>>>> This behaviour seems to be new. I cannot reproduce it consistently, 
>>>> but
>>>> there seems to be thrown an error in
>>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these 
>>>> lines:
>>>>
>>>>
>>>>           try {
>>>>               String actionNamespace = mapping.getNamespace();
>>>>               String actionName = mapping.getName();
>>>>               String actionMethod = mapping.getMethod();
>>>>
>>>>               LOG.trace("Processing action, namespace: {}, name: {},
>>>> method: {}", actionNamespace, actionName, actionMethod);
>>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>>> actionNamespace, actionName, actionMethod);
>>>>
>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>>> proxy.getInvocation().getStack());
>>>>
>>>>               // if the ActionMapping says to go straight to a 
>>>> result, do it!
>>>>               if (mapping.getResult() != null) {
>>>>                   Result result = mapping.getResult();
>>>>                   result.execute(proxy.getInvocation());
>>>>               } else {
>>>>                   proxy.execute();
>>>>               }
>>>>
>>>>               // If there was a previous value stack then set it back
>>>> onto the request
>>>>               if (!nullStack) {
>>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>>> stack);
>>>>               }
>>>>           } catch (ConfigurationException e) {
>>>>               logConfigurationException(request, e);
>>>>               sendError(request, response,
>>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>>           }
>>>>
>>>>
>>>> The artifacts contains two version of commons-digester:
>>>>
>>>> commons-digester-2.1
>>>> commons-digester3-3.2
>>>>
>>>> Any idea, what is causing this warning, which seems to be rather an 
>>>> error?
>>>>
>>>> Best Markus
>>>>
>>>>
>>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>>> Works fine here. Tested with tiles-plugin.
>>>>>
>>>>> Best regards
>>>>> Markus
>>>>>
>>>>>
>>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>>> Hello,
>>>>>>
>>>>>> This is the first patch version of Struts 6.x series. Please take 
>>>>>> the
>>>>>> time and test the bits - any help is appreciated. Please report any
>>>>>> problems you will spot.
>>>>>>
>>>>>> Here are the changes from the previous 6.0.0 version:
>>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>>
>>>>>> Staging Maven repo
>>>>>> https://repository.apache.org/content/groups/staging/
>>>>>>
>>>>>> Standalone artifacts
>>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>>
>>>>>> Release notes
>>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>>
>>>>>>
>>>>>> Kind regards
>>>>>> -- 
>>>>>> Łukasz
>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
After removing commons-digester3-3.2 and leaving commons-digester-2.1 
only, I still get the Warnings/Errors in production:

WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action or 
result: /context/mypath?url=urlEncodedUrl

Seems to be a new issue in Struts6 and not really related to 
commons-digester? Unfortunately I cannot reproduce the issue 
straightforward. I just see the error in the log. Calling the path 
directly does not cause the issue. May there be a connection with a not 
present session?

Markus


Am 29.08.22 um 11:36 schrieb info@flyingfischer.ch:
> Removing commons-digester-2.1 gives:
>
> java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule
>
> I am able to remove commons-digester3-3.2: the application does start.
>
> I will replace the application in production and check, if the 
> Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher disappear.
>
> Regards
> Markus
>
>
> Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
>> Could you exclude commons-digester in the Tiles plugin?
>>
>> Regards
>> Łukasz
>>
>> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
>> <in...@flyingfischer.ch> napisał(a):
>>> hmm, in production I see from time to time:
>>>
>>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find 
>>> action or
>>> result: /context/mypath?url=urlEncodedUrl
>>>
>>> The action exists and the result also, as redirectAction
>>>
>>>         <result name="resultName" type="redirectAction">
>>>               <param name="actionName">otherpath</param>
>>>               <param name="url">${url}</param>
>>>         </result>
>>>
>>> This behaviour seems to be new. I cannot reproduce it consistently, but
>>> there seems to be thrown an error in
>>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these 
>>> lines:
>>>
>>>
>>>           try {
>>>               String actionNamespace = mapping.getNamespace();
>>>               String actionName = mapping.getName();
>>>               String actionMethod = mapping.getMethod();
>>>
>>>               LOG.trace("Processing action, namespace: {}, name: {},
>>> method: {}", actionNamespace, actionName, actionMethod);
>>>               ActionProxy proxy = prepareActionProxy(extraContext,
>>> actionNamespace, actionName, actionMethod);
>>>
>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>>> proxy.getInvocation().getStack());
>>>
>>>               // if the ActionMapping says to go straight to a 
>>> result, do it!
>>>               if (mapping.getResult() != null) {
>>>                   Result result = mapping.getResult();
>>>                   result.execute(proxy.getInvocation());
>>>               } else {
>>>                   proxy.execute();
>>>               }
>>>
>>>               // If there was a previous value stack then set it back
>>> onto the request
>>>               if (!nullStack) {
>>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
>>> stack);
>>>               }
>>>           } catch (ConfigurationException e) {
>>>               logConfigurationException(request, e);
>>>               sendError(request, response,
>>> HttpServletResponse.SC_NOT_FOUND, e);
>>>           }
>>>
>>>
>>> The artifacts contains two version of commons-digester:
>>>
>>> commons-digester-2.1
>>> commons-digester3-3.2
>>>
>>> Any idea, what is causing this warning, which seems to be rather an 
>>> error?
>>>
>>> Best Markus
>>>
>>>
>>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>>> Works fine here. Tested with tiles-plugin.
>>>>
>>>> Best regards
>>>> Markus
>>>>
>>>>
>>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>>> Hello,
>>>>>
>>>>> This is the first patch version of Struts 6.x series. Please take the
>>>>> time and test the bits - any help is appreciated. Please report any
>>>>> problems you will spot.
>>>>>
>>>>> Here are the changes from the previous 6.0.0 version:
>>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>>
>>>>> Staging Maven repo
>>>>> https://repository.apache.org/content/groups/staging/
>>>>>
>>>>> Standalone artifacts
>>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>>
>>>>> Release notes
>>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>>
>>>>>
>>>>> Kind regards
>>>>> -- 
>>>>> Łukasz
>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Removing commons-digester-2.1 gives:

java.lang.NoClassDefFoundError: org/apache/commons/digester/Rule

I am able to remove commons-digester3-3.2: the application does start.

I will replace the application in production and check, if the 
Warnings/Errors from org.apache.struts2.dispatcher.Dispatcher disappear.

Regards
Markus


Am 29.08.22 um 10:19 schrieb Lukasz Lenart:
> Could you exclude commons-digester in the Tiles plugin?
>
> Regards
> Łukasz
>
> pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
> <in...@flyingfischer.ch> napisał(a):
>> hmm, in production I see from time to time:
>>
>> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action or
>> result: /context/mypath?url=urlEncodedUrl
>>
>> The action exists and the result also, as redirectAction
>>
>>         <result name="resultName" type="redirectAction">
>>               <param name="actionName">otherpath</param>
>>               <param name="url">${url}</param>
>>         </result>
>>
>> This behaviour seems to be new. I cannot reproduce it consistently, but
>> there seems to be thrown an error in
>> org.apache.struts2.dispatcher.Dispatcher, somewhere between these lines:
>>
>>
>>           try {
>>               String actionNamespace = mapping.getNamespace();
>>               String actionName = mapping.getName();
>>               String actionMethod = mapping.getMethod();
>>
>>               LOG.trace("Processing action, namespace: {}, name: {},
>> method: {}", actionNamespace, actionName, actionMethod);
>>               ActionProxy proxy = prepareActionProxy(extraContext,
>> actionNamespace, actionName, actionMethod);
>>
>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
>> proxy.getInvocation().getStack());
>>
>>               // if the ActionMapping says to go straight to a result, do it!
>>               if (mapping.getResult() != null) {
>>                   Result result = mapping.getResult();
>>                   result.execute(proxy.getInvocation());
>>               } else {
>>                   proxy.execute();
>>               }
>>
>>               // If there was a previous value stack then set it back
>> onto the request
>>               if (!nullStack) {
>> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, stack);
>>               }
>>           } catch (ConfigurationException e) {
>>               logConfigurationException(request, e);
>>               sendError(request, response,
>> HttpServletResponse.SC_NOT_FOUND, e);
>>           }
>>
>>
>> The artifacts contains two version of commons-digester:
>>
>> commons-digester-2.1
>> commons-digester3-3.2
>>
>> Any idea, what is causing this warning, which seems to be rather an error?
>>
>> Best Markus
>>
>>
>> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
>>> Works fine here. Tested with tiles-plugin.
>>>
>>> Best regards
>>> Markus
>>>
>>>
>>> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>>>> Hello,
>>>>
>>>> This is the first patch version of Struts 6.x series. Please take the
>>>> time and test the bits - any help is appreciated. Please report any
>>>> problems you will spot.
>>>>
>>>> Here are the changes from the previous 6.0.0 version:
>>>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>>>
>>>> Staging Maven repo
>>>> https://repository.apache.org/content/groups/staging/
>>>>
>>>> Standalone artifacts
>>>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>>>
>>>> Release notes
>>>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>>>
>>>>
>>>> Kind regards
>>>> --
>>>> Łukasz
>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by Lukasz Lenart <lu...@apache.org>.
Could you exclude commons-digester in the Tiles plugin?

Regards
Łukasz

pon., 29 sie 2022 o 10:11 info@flyingfischer.ch
<in...@flyingfischer.ch> napisał(a):
>
> hmm, in production I see from time to time:
>
> WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action or
> result: /context/mypath?url=urlEncodedUrl
>
> The action exists and the result also, as redirectAction
>
>        <result name="resultName" type="redirectAction">
>              <param name="actionName">otherpath</param>
>              <param name="url">${url}</param>
>        </result>
>
> This behaviour seems to be new. I cannot reproduce it consistently, but
> there seems to be thrown an error in
> org.apache.struts2.dispatcher.Dispatcher, somewhere between these lines:
>
>
>          try {
>              String actionNamespace = mapping.getNamespace();
>              String actionName = mapping.getName();
>              String actionMethod = mapping.getMethod();
>
>              LOG.trace("Processing action, namespace: {}, name: {},
> method: {}", actionNamespace, actionName, actionMethod);
>              ActionProxy proxy = prepareActionProxy(extraContext,
> actionNamespace, actionName, actionMethod);
>
> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY,
> proxy.getInvocation().getStack());
>
>              // if the ActionMapping says to go straight to a result, do it!
>              if (mapping.getResult() != null) {
>                  Result result = mapping.getResult();
>                  result.execute(proxy.getInvocation());
>              } else {
>                  proxy.execute();
>              }
>
>              // If there was a previous value stack then set it back
> onto the request
>              if (!nullStack) {
> request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, stack);
>              }
>          } catch (ConfigurationException e) {
>              logConfigurationException(request, e);
>              sendError(request, response,
> HttpServletResponse.SC_NOT_FOUND, e);
>          }
>
>
> The artifacts contains two version of commons-digester:
>
> commons-digester-2.1
> commons-digester3-3.2
>
> Any idea, what is causing this warning, which seems to be rather an error?
>
> Best Markus
>
>
> Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
> > Works fine here. Tested with tiles-plugin.
> >
> > Best regards
> > Markus
> >
> >
> > Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
> >> Hello,
> >>
> >> This is the first patch version of Struts 6.x series. Please take the
> >> time and test the bits - any help is appreciated. Please report any
> >> problems you will spot.
> >>
> >> Here are the changes from the previous 6.0.0 version:
> >> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
> >>
> >> Staging Maven repo
> >> https://repository.apache.org/content/groups/staging/
> >>
> >> Standalone artifacts
> >> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
> >>
> >> Release notes
> >> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
> >>
> >>
> >> Kind regards
> >> --
> >> Łukasz
> >> + 48 606 323 122 http://www.lenart.org.pl/
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: dev-help@struts.apache.org
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
hmm, in production I see from time to time:

WARN org.apache.struts2.dispatcher.Dispatcher - Could not find action or 
result: /context/mypath?url=urlEncodedUrl

The action exists and the result also, as redirectAction

       <result name="resultName" type="redirectAction">
             <param name="actionName">otherpath</param>
             <param name="url">${url}</param>
       </result>

This behaviour seems to be new. I cannot reproduce it consistently, but 
there seems to be thrown an error in 
org.apache.struts2.dispatcher.Dispatcher, somewhere between these lines:


         try {
             String actionNamespace = mapping.getNamespace();
             String actionName = mapping.getName();
             String actionMethod = mapping.getMethod();

             LOG.trace("Processing action, namespace: {}, name: {}, 
method: {}", actionNamespace, actionName, actionMethod);
             ActionProxy proxy = prepareActionProxy(extraContext, 
actionNamespace, actionName, actionMethod);

request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, 
proxy.getInvocation().getStack());

             // if the ActionMapping says to go straight to a result, do it!
             if (mapping.getResult() != null) {
                 Result result = mapping.getResult();
                 result.execute(proxy.getInvocation());
             } else {
                 proxy.execute();
             }

             // If there was a previous value stack then set it back 
onto the request
             if (!nullStack) {
request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, stack);
             }
         } catch (ConfigurationException e) {
             logConfigurationException(request, e);
             sendError(request, response, 
HttpServletResponse.SC_NOT_FOUND, e);
         }


The artifacts contains two version of commons-digester:

commons-digester-2.1
commons-digester3-3.2

Any idea, what is causing this warning, which seems to be rather an error?

Best Markus


Am 27.08.22 um 12:28 schrieb info@flyingfischer.ch:
> Works fine here. Tested with tiles-plugin.
>
> Best regards
> Markus
>
>
> Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
>> Hello,
>>
>> This is the first patch version of Struts 6.x series. Please take the
>> time and test the bits - any help is appreciated. Please report any
>> problems you will spot.
>>
>> Here are the changes from the previous 6.0.0 version:
>> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>>
>> Staging Maven repo
>> https://repository.apache.org/content/groups/staging/
>>
>> Standalone artifacts
>> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>>
>> Release notes
>> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>>
>>
>> Kind regards
>> -- 
>> Łukasz
>> + 48 606 323 122 http://www.lenart.org.pl/
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

Re: [TEST] Struts 6.0.2 test build is ready

Posted by "info@flyingfischer.ch" <in...@flyingfischer.ch>.
Works fine here. Tested with tiles-plugin.

Best regards
Markus


Am 25.08.22 um 07:52 schrieb Lukasz Lenart:
> Hello,
>
> This is the first patch version of Struts 6.x series. Please take the
> time and test the bits - any help is appreciated. Please report any
> problems you will spot.
>
> Here are the changes from the previous 6.0.0 version:
> https://github.com/apache/struts/releases/tag/STRUTS_6_0_2
>
> Staging Maven repo
> https://repository.apache.org/content/groups/staging/
>
> Standalone artifacts
> https://dist.apache.org/repos/dist/dev/struts/6.0.2/
>
> Release notes
> https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.2
>
>
> Kind regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org