Problème avec le résultat struts2 de redirectAction lors de l'utilisation BigIP
Question
J'utilise struts2 (2.1.6) et que vous souhaitez rediriger vers Action2 de Action1 .
struts.xml:
<action name="Action1" class="Action1">
<result name="success" type="redirectAction">Action2</result>
</action>
<action name="Action2" class="Action2">
<result name="success">/demo.jsp</result>
</action>
Cela fonctionne comme prévu:. Réacheminements http://myserver:9064/demo/Action1
à http://myserver:9064/demo/Action2
(testé sur tomcat et websphere)
Mais quand je mets mon application derrière BigIP, redirectAction
ne se comporte plus comme prévu.
http://mybigip/demo/Action1
devrait rediriger vers http://mybigip/demo/Action2
, au lieu qu'il redirige vers http://mybigip:9064/demo/Action2
(notez que le numéro de port de mon application se joint en annexe) qui donne une erreur 404. Je suis même résultat pour type="redirect"
aussi.
Tout pointeur pour résoudre ce problème serait très apprécié.
La solution
J'ai trouvé la solution à ce problème. cela est en fait pas le cas seulement pour Struts. Il arrive en général avec une Response.sendRedirect
ou RequestDispatcher.forward
. En outre, ce comportement est remarqué lorsque l'application est déployée dans WebSphere et non quand dans Tomcat.
Les liens ci-dessous donne plus de détails:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae /rweb_custom_props.html
(Look pour le httpsIndicatorHeader
de propriété personnalisée)
Aussi:
http://support.f5.com/kb/en-us/solutions/public/1000/800/sol1871.html