
06/10/2010, 06:13
|
| | Fecha de Ingreso: abril-2004 Ubicación: La Plata, Bs As
Mensajes: 37
Antigüedad: 20 años, 11 meses Puntos: 0 | |
Necesito ayuda para convertir XML a Objetos con XStream Buen día gente. Tengo el siguiente problema y no puedo encontrar la solución: tengo que consumir un Webservice hecho en .Net, el mismo tiene la siguiente estructura: <?xml version=\"1.0\" encoding=\"utf-8\" ?>
<string xmlns=\"http://tempuri.org/\">
<Perfiles>
<Perfil>EMPLEADO</Perfil>
<Perfil>CLIENTE</Perfil>
</Perfiles>
</string>
Se me ocurrió usar XStream para generar los objetos correspondientes al XML recibido. Para ellos, luego de agregar el jar correspondiente, hice el siguiente código: String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><string xmlns=\"http://tempuri.org/\"><Perfiles><Perfil>EMPLEADO</Perfil><Perfil>CLIENTE</Perfil></Perfiles></string>";
InputStream inputStream = new ByteArrayInputStream(xml.toLowerCase().getBytes("U TF-8"));
XStream xstream = new XStream(new DomDriver());
xstream.alias("string", PerfilesDTO.class);
xstream.alias("perfil", String.class);
xstream.addImplicitCollection(PerfilesDTO.class, "perfiles");
PerfilesDTO perfilesDTO = (PerfilesDTO)xstream.fromXML(inputStream);
El objeto PerfilesDTO tiene la siguiente propiedad: private List<String> perfiles;
El error que me esta tirando es el siguiente: Element perfil of type java.lang.String is not defined as field in type java.lang.Object ---- Debugging information ---- class : bancaempresas.dto.webservice.PerfilesDTO required-type : java.lang.Object path : /string/perfiles/perfil -------------------------------
Alguien podría decirme como puedo solucionar esto? Ya sea modificando los objetos (DTOs), utilizando otra forma de convertir el XML a objetos, etc. Lo que si, no puedo modificar la estructura del XML.
Agradezco cualquier ayuda.
Saludos.
Lucas.- |