Mira ahorita no tengo algun ejemplo a mano, pero el codigo que uso es mas o menos asi:
Código:
public BTarea[] obtenerTareas(int idUsuario, String fecha){
DTarea dTarea = new DTarea();
try{
ArrayList<BTarea> lTareas = dTarea.obtenerTareas(idUsuario, fecha, this.con);
BTarea[] lTarea = new BTarea[lTareas.size()];
for(int i = 0;i < lTareas.size(); i++){
lTarea[i] = (BTarea)lTareas.get(i);
}
return lTarea;
}
catch(Exception e){
e.printStackTrace(System.out);
return new BTarea[0];
}
}
Ya cuando creo el WebService con el Eclipse, este se encarga de crearme el WSDL por mi en la cual me crea el tipo de dato complejo que mi funcion del Web Service va a devolver.