Cómo reparar el error de redirigir OGNL, No se puede establecer parámetro?
Pregunta
No estoy seguro de si se trata de mí o si se trata de un error.
Tengo el siguiente error
11:52:01,623 ERROR ObjectFactory:27 - Unable to set parameter [dest] in result of type [org.apache.struts2.dispatcher.ServletRedirectResult]
Caught OgnlException while setting property 'dest' on type 'org.apache.struts2.dispatcher.ServletRedirectResult'. - Class: ognl.ObjectPropertyAccessor
File: ObjectPropertyAccessor.java
Method: setProperty
Line: 132 - ognl/ObjectPropertyAccessor.java:132:-1
at com.opensymphony.xwork2.ognl.OgnlUtil.internalSetProperty(OgnlUtil.java:392)
Y mi configuración es bastante escaso
<package name="esupport" namespace="/esupport" extends="struts-default">
<action name="old-esupport" class="com.my.MyRedirectAction">
<result type="redirect">
<param name="location">http://some.server.com/init.asp</param>
<param name="dest">${dest}</param>
</result>
</action>
</package>
Y mi clase tiene un par de método get / set. Y eso es. No es nada especial
He encontrado este hilo en el foro. Pero no resuelve mi problema
Estoy utilizando
Puntales 2.1.16 primavera 2 Spring Security + CAS
(El comportamiento curioso es que me envía al servidor CAS después del error, pero supongo que será corregido después de la emisión de redirección lo arreglaron)
Solución
parece un error con Struts2. que recomiendan ... ocultar el error:
<category name="com.opensymphony.xwork2.ObjectFactory">
<priority value="fatal"/>
</category>
sección de guía de solución de problemas en las redirecciones
Otros consejos
Me enfrenté a este problema después de desplegar la aplicación en la era del 7 servidor. Era una aplicación existente y no hubo ningún cambio de código.
Encontrados las siguientes excepciones en los registros de la puesta en marcha del servidor
Failed to write out object: ext___405722372
com.ibm.wkplc.extensionregistry.util.XmlUtilException: Unable to write to the given file
acaba de borrar la caché del servidor y reiniciado y el problema se resolvió.