Foros del Web » Programación para mayores de 30 ;) » Java »

error con un array

Estas en el tema de error con un array en el foro de Java en Foros del Web. hola!! Empiezo escribiendo la traza del error: excepción javax.servlet.ServletException: javax.servlet.ServletException: BeanUtils.populate org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462) javax.servlet.http.HttpServlet.service(HttpServlet .java:710) javax.servlet.http.HttpServlet.service(HttpServlet .java:803) causa raíz javax.servlet.ServletException: BeanUtils.populate ...
  #1 (permalink)  
Antiguo 10/10/2007, 03:57
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
error con un array

hola!!

Empiezo escribiendo la traza del error:

excepción

javax.servlet.ServletException: javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)

causa raíz

javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:469)
org.apache.struts.chain.commands.servlet.PopulateA ctionForm.populate(PopulateActionForm.java:50)
org.apache.struts.chain.commands.AbstractPopulateA ctionForm.execute(AbstractPopulateActionForm.java: 60)
org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)

causa raíz

java.lang.IllegalArgumentException: array element type mismatch
java.lang.reflect.Array.set(Native Method)
org.apache.commons.beanutils.ConvertUtilsBean.conv ert(ConvertUtilsBean.java:464)
org.apache.commons.beanutils.BeanUtilsBean.setProp erty(BeanUtilsBean.java:986)
org.apache.commons.beanutils.BeanUtilsBean.populat e(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(Be anUtils.java:298)
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:467)
org.apache.struts.chain.commands.servlet.PopulateA ctionForm.populate(PopulateActionForm.java:50)
org.apache.struts.chain.commands.AbstractPopulateA ctionForm.execute(AbstractPopulateActionForm.java: 60)
org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)


La verdad es que no alcanzo a saber en que punto es. Se da en una pagina para hacer la modificacion de unos datos de una factura. En un principio la pagina la carga bien y sin ningun error, pero a la hora de hacer el submit con los cambios hechos(o haciendo el submit directamente sin modificar nada) me sale este error y no se muy bien por que es. Pienso que deberia estar en la pagina porque el error salta antes de entrar en el ActionForm correspondiente. Hice algunas variaciones conr especto a otra version, pero he probado a quitarlas y sigue dando el mismo error(que como es habitual ants no daba )
si alguien me pudiera decir por que da este tipo de errores se lo agradeceria, porque no se muy bien por donde pueda ser.

gracais
  #2 (permalink)  
Antiguo 11/12/2007, 10:56
 
Fecha de Ingreso: diciembre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: error con un array

Hasta donde se el StackTrace te da el camino del error, el cual deberias ver en el ultimo lugar de la traza, en este caso en
Código:
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
yo estoy teniendo el mismo error con una pagina que estoy haciendo, tengo un solo jsp, asi que me tira el error ni bien entro, imagino que vos tendras mas de uno, y te tira el error cuando queres ingresar al jsp que dispara ese error con HttpServlet.java:803, sigo buscando la causa del error, calculo que sera del jdk1.4 (yo estoy usado jdk 1.4 y tomcat 5.5.25 con el compatibility package, y el IDE Eclipse 3.2)

Si encontras donde esta el error postealo que me vedria bien solucioarlo
  #3 (permalink)  
Antiguo 11/12/2007, 13:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: error con un array

Cita:
Iniciado por Onuris Ver Mensaje
Hasta donde se el StackTrace te da el camino del error, el cual deberias ver en el ultimo lugar de la traza, en este caso en
Código:
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
La ultima linea no es siempre la más importante. En este caso esa linea dice que ocurrio un error en la llamada service de un servlet... asi que no dice mucho .

Mas interesante es mirar la secuencia de errores/causas:
javax.servlet.ServletException: BeanUtils.populate
causa raíz: javax.servlet.ServletException: BeanUtils.populate
causa raíz: java.lang.IllegalArgumentException: array element type mismatch

Lo cual, interpretandolo con el resto del stack trace, quiere decir que al intentar construir un Bean a partir de los datos del formulario, ha dado un error por que uno de los arrays del Bean no se corresponde con los arrays enviados en el formulario, ya que cree que son de dos tipos distintos.

El por que dá el error, ya es cosa de mirar el Bean, los parametros, como funciona BeanUtils....

S!
  #4 (permalink)  
Antiguo 09/01/2008, 05:52
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 16 años, 8 meses
Puntos: 48
Re: error con un array

Yo tengo el mismo error, pero la causa es un NullPointer.

Si consigo algo os comento.
  #5 (permalink)  
Antiguo 09/01/2008, 06:23
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 16 años, 8 meses
Puntos: 48
Re: error con un array

Algo he conseguido creando un metodo

public void reset(ActionMapping mapping, HttpServletRequest request)

en la clase del formulario.

Es un poco chapuza, pero se ejecuta antes de rellenar el formulario y se tiene un poco de control.

Espero que os sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:47.