miércoles, 2 de diciembre de 2009

/pasando ArrayList o Vectores mediante webServices (Java)



Debía comunicar datos remotamente, los mismos "viajaban" mediante valores de retorno de las operaciones de webservices.
Los datos estaban en estructuras pertenecientes a bibliotecas de Java, como ArrayList.
El problema es que al recibir los datos, no respetaba el comportamiento de dicha clase (o estructura ArrayList), esto es, no tenía operaciones que me permitieran acceder a sus datos, ni recorrerlos. Como por ejemplo, iterator().

Solución: debí fabricarme un vector con los datos.



@WebMethod
public DataLicenciaWeb[] getLicenciasxConductor(@WebParam(name = "ci") int ci,@WebParam(name = "idInt") String idInt)
{
.........................
//Declaro el ArrayList
ArrayList vLic = new ArrayList();
.
.
.
Iterator itl = null;
DataLicenciaWeb dlw = null;

while (it.hasNext())
{

while (itl.hasNext())
{
dlw = (DataLicenciaWeb)itl.next(); //dlw de tipo DataLicenciaWeb
if (dlw.getId().substring(0,1).equals(i.getPrefijo()))
vLic.add(dlw); // esta es la parte que importa
}
}
}

//Aqui viene la creación del vector.

DataLicenciaWeb []ret = new
DataLicenciaWeb [vLic.size()];

vLic.toArray(ret);
return ret; //No devuelve ArrayList, sino
un array de DataLicenciaWeb

}


Me queda por investigar este tema, es una solución paliativa, entendí que esto no debería suceder.







No hay comentarios.: