Buenas, estoy desarrollando un WebService y tengo todo codificado ya, funcionan todos los webmethods perfectamente, el único problema que tengo es que no puedo devolver una lista que tenga objetos dentro.
dejo el webmethod
public List<DatosWS> buscarIngresoRangoFecha(String fecha1,String fecha2){ Connection dbConnection = null; DatosWS datosWS=null; String conIngreso; String conConductor; String conMoto; String conPlaya; String conPuntoDeControl; ResultSet rsIngreso; ResultSet rsConductor; ResultSet rsMoto; ResultSet rsPlaya; ResultSet rsPuntoDeControl; List<DatosWS> respuesta=new ArrayList<DatosWS>(); try{ dbConnection = getDBConnection(); conIngreso="SELECT * FROM ingreso where fechaDeIngreso between '" + fecha1 + "' AND '" + fecha2+ "'" ; Statement StIngreso = dbConnection.createStatement(); rsIngreso = StIngreso.executeQuery (conIngreso); { while (rsIngreso.next()) { idIngreso=rsIngreso.getInt("id"); idConductor=rsIngreso.getInt("conductor_id"); idMoto=rsIngreso.getInt("moto_id"); idPuntoDeControl=rsIngreso.getInt("puntoDeControl_id"); idPlaya=rsIngreso.getInt("playa_id"); numEstadoIngreso=rsIngreso.getInt("estado"); parcelaIngreso=rsIngreso.getString("parcela"); personaQueRetiraIngreso=rsIngreso.getString("personaQueRetira"); fechaDeRetencionIngreso=rsIngreso.getDate("fechaDeRetencion"); fechaDeIngresoIngreso=rsIngreso.getDate("fechaDeIngreso"); fechaDeDevolucionIngreso=rsIngreso.getDate("fechaDeDevolucion");
datosWS=new DatosWS(); respuesta.add(datosWS); datosWS.setIdIngreso(idIngreso); if(numEstadoIngreso==0){ datosWS.setEstadoIngreso("Abierto"); }else{ datosWS.setEstadoIngreso("Cerrado"); } datosWS.setIdConductor(idConductor); datosWS.setIdMoto(idMoto); datosWS.setIdPlaya(idPlaya); datosWS.setIdPuntoDeControl(idPuntoDeControl); datosWS.setParcelaIngreso(parcelaIngreso); datosWS.setFechaDeRetencionIngreso(new Date(fechaDeRetencionIngreso.getTime())); datosWS.setFechaDeIngresoIngreso(new Date(fechaDeIngresoIngreso.getTime())); datosWS.setPersonaQueRetiraIngreso(personaQueRetiraIngreso); datosWS.setFechaDeDevolucionIngreso(new Date(fechaDeDevolucionIngreso.getTime()));
try{ conConductor="SELECT * FROM conductor where id = '" + idConductor + "'" ; Statement StConductor = dbConnection.createStatement(); rsConductor = StConductor.executeQuery (conConductor); { while (rsConductor.next()) { apellidoConductor=rsConductor.getString("apellido"); documentoConductor=rsConductor.getString("documento"); fechaDeNacimientoConductor=rsConductor.getDate("fechaDeNacimiento"); nombreConductor=rsConductor.getString("nombre");
datosWS.setNombreConductor(nombreConductor); datosWS.setApellidoConductor(apellidoConductor); datosWS.setDocumentoConductor(documentoConductor); datosWS.setFechaDeNacimientoConductor(fechaDeNacimientoConductor);
try{ conMoto="SELECT * FROM moto where id = '" + idMoto + "'" ; Statement StMoto = dbConnection.createStatement(); rsMoto = StMoto.executeQuery (conMoto); { while (rsMoto.next()) { anioMoto=rsMoto.getString("año"); dominioMoto=rsMoto.getString("dominio"); marcaMoto=rsMoto.getString("marca"); modeloMoto=rsMoto.getString("modelo");
datosWS.setDominioMoto(dominioMoto); datosWS.setAnioMoto(anioMoto); datosWS.setMarcaMoto(marcaMoto); datosWS.setModeloMoto(modeloMoto);
try{ conPlaya="SELECT * FROM playa where id = '" + idPlaya + "'" ; Statement StPlaya = dbConnection.createStatement(); rsPlaya = StPlaya.executeQuery (conPlaya); { while (rsPlaya.next()) { nombrePlaya=rsPlaya.getString("nombre");
datosWS.setNombrePlaya(nombrePlaya);
try{ conPuntoDeControl="SELECT * FROM puntodecontrol where id = '" + idPuntoDeControl + "'" ; Statement StPuntoDeControl = dbConnection.createStatement(); rsPuntoDeControl = StPuntoDeControl.executeQuery (conPuntoDeControl); { while (rsPuntoDeControl.next()) { nombrePuntoDeControl=rsPuntoDeControl.getString("nombre");
datosWS.setNombrePuntoDeControl(nombrePuntoDeControl);
} } }catch(Exception ePuntoDeControl){ System.out.println(ePuntoDeControl); } } } }catch(Exception ePlaya){ System.out.println(ePlaya); }
} } }catch(Exception eMoto){ System.out.println(eMoto); } } } }catch(Exception eConductor){ System.out.println(eConductor); } } } }catch(Exception eIngreso){ System.out.println(eIngreso); } finally { if (dbConnection != null) { try { dbConnection.close(); } catch (SQLException ex) { Logger.getLogger(SigemoreWS.class.getName()).log(Level.SEVERE, null, ex); } } if (dbConnection != null) { try { dbConnection.close(); } catch (SQLException ex) { Logger.getLogger(SigemoreWS.class.getName()).log(Level.SEVERE, null, ex); } } } return respuesta; }
El objeto que quiero retornar es este:
public class DatosWS{ private int idIngreso; private int numEstadoIngreso; private String estadoIngreso; private String parcelaIngreso; private String personaQueRetiraIngreso; private Date fechaDeRetencionIngreso; private Date fechaDeIngresoIngreso; private Date fechaDeDevolucionIngreso; private int idMoto; private String dominioMoto; private String anioMoto; private String marcaMoto; private String modeloMoto; private int idConductor; private String nombreConductor; private String apellidoConductor; private String documentoConductor; private Date fechaDeNacimientoConductor; private int idPlaya; private String nombrePlaya; private int idPuntoDeControl; private String nombrePuntoDeControl;
public int getIdIngreso() { return idIngreso; }
public void setIdIngreso(int idIngreso) { this.idIngreso = idIngreso; }
public int getNumEstadoIngreso() { return numEstadoIngreso; }
public void setNumEstadoIngreso(int numEstadoIngreso) { this.numEstadoIngreso = numEstadoIngreso; }
public String getEstadoIngreso() { return estadoIngreso; }
public void setEstadoIngreso(String estadoIngreso) { this.estadoIngreso = estadoIngreso; }
public String getParcelaIngreso() { return parcelaIngreso; }
public void setParcelaIngreso(String parcelaIngreso) { this.parcelaIngreso = parcelaIngreso; }
public String getPersonaQueRetiraIngreso() { return personaQueRetiraIngreso; }
public void setPersonaQueRetiraIngreso(String personaQueRetiraIngreso) { this.personaQueRetiraIngreso = personaQueRetiraIngreso; }
public Date getFechaDeRetencionIngreso() { return fechaDeRetencionIngreso; }
public void setFechaDeRetencionIngreso(Date fechaDeRetencionIngreso) { this.fechaDeRetencionIngreso = fechaDeRetencionIngreso; }
public Date getFechaDeIngresoIngreso() { return fechaDeIngresoIngreso; }
public void setFechaDeIngresoIngreso(Date fechaDeIngresoIngreso) { this.fechaDeIngresoIngreso = fechaDeIngresoIngreso; }
public Date getFechaDeDevolucionIngreso() { return fechaDeDevolucionIngreso; }
public void setFechaDeDevolucionIngreso(Date fechaDeDevolucionIngreso) { this.fechaDeDevolucionIngreso = fechaDeDevolucionIngreso; }
public int getIdMoto() { return idMoto; }
public void setIdMoto(int idMoto) { this.idMoto = idMoto; }
public String getDominioMoto() { return dominioMoto; }
public void setDominioMoto(String dominioMoto) { this.dominioMoto = dominioMoto; }
public String getAnioMoto() { return anioMoto; }
public void setAnioMoto(String anioMoto) { this.anioMoto = anioMoto; }
public String getMarcaMoto() { return marcaMoto; }
public void setMarcaMoto(String marcaMoto) { this.marcaMoto = marcaMoto; }
public String getModeloMoto() { return modeloMoto; }
public void setModeloMoto(String modeloMoto) { this.modeloMoto = modeloMoto; }
public int getIdConductor() { return idConductor; }
public void setIdConductor(int idConductor) { this.idConductor = idConductor; }
public String getNombreConductor() { return nombreConductor; }
public void setNombreConductor(String nombreConductor) { this.nombreConductor = nombreConductor; }
public String getApellidoConductor() { return apellidoConductor; }
public void setApellidoConductor(String apellidoConductor) { this.apellidoConductor = apellidoConductor; }
public String getDocumentoConductor() { return documentoConductor; }
public void setDocumentoConductor(String documentoConductor) { this.documentoConductor = documentoConductor; }
public Date getFechaDeNacimientoConductor() { return fechaDeNacimientoConductor; }
public void setFechaDeNacimientoConductor(Date fechaDeNacimientoConductor) { this.fechaDeNacimientoConductor = fechaDeNacimientoConductor; }
public int getIdPlaya() { return idPlaya; }
public void setIdPlaya(int idPlaya) { this.idPlaya = idPlaya; }
public String getNombrePlaya() { return nombrePlaya; }
public void setNombrePlaya(String nombrePlaya) { this.nombrePlaya = nombrePlaya; }
public int getIdPuntoDeControl() { return idPuntoDeControl; }
public void setIdPuntoDeControl(int idPuntoDeControl) { this.idPuntoDeControl = idPuntoDeControl; }
public String getNombrePuntoDeControl() { return nombrePuntoDeControl; }
public void setNombrePuntoDeControl(String nombrePuntoDeControl) { this.nombrePuntoDeControl = nombrePuntoDeControl; } }
Buenas, estoy desarrollando un WebService y tengo todo codificado ya, funcionan todos los webmethods perfectamente, el único problema que tengo es que no puedo devolver una lista que tenga objetos dentro.
dejo el webmethod
public List<DatosWS> buscarIngresoRangoFecha(String fecha1,String fecha2){
Connection dbConnection = null;
DatosWS datosWS=null;
String conIngreso;
String conConductor;
String conMoto;
String conPlaya;
String conPuntoDeControl;
ResultSet rsIngreso;
ResultSet rsConductor;
ResultSet rsMoto;
ResultSet rsPlaya;
ResultSet rsPuntoDeControl;
List<DatosWS> respuesta=new ArrayList<DatosWS>();
try{
dbConnection = getDBConnection();
conIngreso="SELECT * FROM ingreso where fechaDeIngreso between '" + fecha1 + "' AND '" + fecha2+ "'" ;
Statement StIngreso = dbConnection.createStatement();
rsIngreso = StIngreso.executeQuery (conIngreso); {
while (rsIngreso.next()) {
idIngreso=rsIngreso.getInt("id");
idConductor=rsIngreso.getInt("conductor_id");
idMoto=rsIngreso.getInt("moto_id");
idPuntoDeControl=rsIngreso.getInt("puntoDeControl_id");
idPlaya=rsIngreso.getInt("playa_id");
numEstadoIngreso=rsIngreso.getInt("estado");
parcelaIngreso=rsIngreso.getString("parcela");
personaQueRetiraIngreso=rsIngreso.getString("personaQueRetira");
fechaDeRetencionIngreso=rsIngreso.getDate("fechaDeRetencion");
fechaDeIngresoIngreso=rsIngreso.getDate("fechaDeIngreso");
fechaDeDevolucionIngreso=rsIngreso.getDate("fechaDeDevolucion");
datosWS=new DatosWS();
respuesta.add(datosWS);
datosWS.setIdIngreso(idIngreso);
if(numEstadoIngreso==0){
datosWS.setEstadoIngreso("Abierto");
}else{
datosWS.setEstadoIngreso("Cerrado");
}
datosWS.setIdConductor(idConductor);
datosWS.setIdMoto(idMoto);
datosWS.setIdPlaya(idPlaya);
datosWS.setIdPuntoDeControl(idPuntoDeControl);
datosWS.setParcelaIngreso(parcelaIngreso);
datosWS.setFechaDeRetencionIngreso(new Date(fechaDeRetencionIngreso.getTime()));
datosWS.setFechaDeIngresoIngreso(new Date(fechaDeIngresoIngreso.getTime()));
datosWS.setPersonaQueRetiraIngreso(personaQueRetiraIngreso);
datosWS.setFechaDeDevolucionIngreso(new Date(fechaDeDevolucionIngreso.getTime()));
try{
conConductor="SELECT * FROM conductor where id = '" + idConductor + "'" ;
Statement StConductor = dbConnection.createStatement();
rsConductor = StConductor.executeQuery (conConductor); {
while (rsConductor.next()) {
apellidoConductor=rsConductor.getString("apellido");
documentoConductor=rsConductor.getString("documento");
fechaDeNacimientoConductor=rsConductor.getDate("fechaDeNacimiento");
nombreConductor=rsConductor.getString("nombre");
datosWS.setNombreConductor(nombreConductor);
datosWS.setApellidoConductor(apellidoConductor);
datosWS.setDocumentoConductor(documentoConductor);
datosWS.setFechaDeNacimientoConductor(fechaDeNacimientoConductor);
try{
conMoto="SELECT * FROM moto where id = '" + idMoto + "'" ;
Statement StMoto = dbConnection.createStatement();
rsMoto = StMoto.executeQuery (conMoto); {
while (rsMoto.next()) {
anioMoto=rsMoto.getString("año");
dominioMoto=rsMoto.getString("dominio");
marcaMoto=rsMoto.getString("marca");
modeloMoto=rsMoto.getString("modelo");
datosWS.setDominioMoto(dominioMoto);
datosWS.setAnioMoto(anioMoto);
datosWS.setMarcaMoto(marcaMoto);
datosWS.setModeloMoto(modeloMoto);
try{
conPlaya="SELECT * FROM playa where id = '" + idPlaya + "'" ;
Statement StPlaya = dbConnection.createStatement();
rsPlaya = StPlaya.executeQuery (conPlaya); {
while (rsPlaya.next()) {
nombrePlaya=rsPlaya.getString("nombre");
datosWS.setNombrePlaya(nombrePlaya);
try{
conPuntoDeControl="SELECT * FROM puntodecontrol where id = '" + idPuntoDeControl + "'" ;
Statement StPuntoDeControl = dbConnection.createStatement();
rsPuntoDeControl = StPuntoDeControl.executeQuery (conPuntoDeControl); {
while (rsPuntoDeControl.next()) {
nombrePuntoDeControl=rsPuntoDeControl.getString("nombre");
datosWS.setNombrePuntoDeControl(nombrePuntoDeControl);
}
}
}catch(Exception ePuntoDeControl){
System.out.println(ePuntoDeControl);
}
}
}
}catch(Exception ePlaya){
System.out.println(ePlaya);
}
}
}
}catch(Exception eMoto){
System.out.println(eMoto);
}
}
}
}catch(Exception eConductor){
System.out.println(eConductor);
}
}
}
}catch(Exception eIngreso){
System.out.println(eIngreso);
}
finally {
if (dbConnection != null) {
try {
dbConnection.close();
} catch (SQLException ex) {
Logger.getLogger(SigemoreWS.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (dbConnection != null) {
try {
dbConnection.close();
} catch (SQLException ex) {
Logger.getLogger(SigemoreWS.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
return respuesta;
}
El objeto que quiero retornar es este:
public class DatosWS{
private int idIngreso;
private int numEstadoIngreso;
private String estadoIngreso;
private String parcelaIngreso;
private String personaQueRetiraIngreso;
private Date fechaDeRetencionIngreso;
private Date fechaDeIngresoIngreso;
private Date fechaDeDevolucionIngreso;
private int idMoto;
private String dominioMoto;
private String anioMoto;
private String marcaMoto;
private String modeloMoto;
private int idConductor;
private String nombreConductor;
private String apellidoConductor;
private String documentoConductor;
private Date fechaDeNacimientoConductor;
private int idPlaya;
private String nombrePlaya;
private int idPuntoDeControl;
private String nombrePuntoDeControl;
public int getIdIngreso() {
return idIngreso;
}
public void setIdIngreso(int idIngreso) {
this.idIngreso = idIngreso;
}
public int getNumEstadoIngreso() {
return numEstadoIngreso;
}
public void setNumEstadoIngreso(int numEstadoIngreso) {
this.numEstadoIngreso = numEstadoIngreso;
}
public String getEstadoIngreso() {
return estadoIngreso;
}
public void setEstadoIngreso(String estadoIngreso) {
this.estadoIngreso = estadoIngreso;
}
public String getParcelaIngreso() {
return parcelaIngreso;
}
public void setParcelaIngreso(String parcelaIngreso) {
this.parcelaIngreso = parcelaIngreso;
}
public String getPersonaQueRetiraIngreso() {
return personaQueRetiraIngreso;
}
public void setPersonaQueRetiraIngreso(String personaQueRetiraIngreso) {
this.personaQueRetiraIngreso = personaQueRetiraIngreso;
}
public Date getFechaDeRetencionIngreso() {
return fechaDeRetencionIngreso;
}
public void setFechaDeRetencionIngreso(Date fechaDeRetencionIngreso) {
this.fechaDeRetencionIngreso = fechaDeRetencionIngreso;
}
public Date getFechaDeIngresoIngreso() {
return fechaDeIngresoIngreso;
}
public void setFechaDeIngresoIngreso(Date fechaDeIngresoIngreso) {
this.fechaDeIngresoIngreso = fechaDeIngresoIngreso;
}
public Date getFechaDeDevolucionIngreso() {
return fechaDeDevolucionIngreso;
}
public void setFechaDeDevolucionIngreso(Date fechaDeDevolucionIngreso) {
this.fechaDeDevolucionIngreso = fechaDeDevolucionIngreso;
}
public int getIdMoto() {
return idMoto;
}
public void setIdMoto(int idMoto) {
this.idMoto = idMoto;
}
public String getDominioMoto() {
return dominioMoto;
}
public void setDominioMoto(String dominioMoto) {
this.dominioMoto = dominioMoto;
}
public String getAnioMoto() {
return anioMoto;
}
public void setAnioMoto(String anioMoto) {
this.anioMoto = anioMoto;
}
public String getMarcaMoto() {
return marcaMoto;
}
public void setMarcaMoto(String marcaMoto) {
this.marcaMoto = marcaMoto;
}
public String getModeloMoto() {
return modeloMoto;
}
public void setModeloMoto(String modeloMoto) {
this.modeloMoto = modeloMoto;
}
public int getIdConductor() {
return idConductor;
}
public void setIdConductor(int idConductor) {
this.idConductor = idConductor;
}
public String getNombreConductor() {
return nombreConductor;
}
public void setNombreConductor(String nombreConductor) {
this.nombreConductor = nombreConductor;
}
public String getApellidoConductor() {
return apellidoConductor;
}
public void setApellidoConductor(String apellidoConductor) {
this.apellidoConductor = apellidoConductor;
}
public String getDocumentoConductor() {
return documentoConductor;
}
public void setDocumentoConductor(String documentoConductor) {
this.documentoConductor = documentoConductor;
}
public Date getFechaDeNacimientoConductor() {
return fechaDeNacimientoConductor;
}
public void setFechaDeNacimientoConductor(Date fechaDeNacimientoConductor) {
this.fechaDeNacimientoConductor = fechaDeNacimientoConductor;
}
public int getIdPlaya() {
return idPlaya;
}
public void setIdPlaya(int idPlaya) {
this.idPlaya = idPlaya;
}
public String getNombrePlaya() {
return nombrePlaya;
}
public void setNombrePlaya(String nombrePlaya) {
this.nombrePlaya = nombrePlaya;
}
public int getIdPuntoDeControl() {
return idPuntoDeControl;
}
public void setIdPuntoDeControl(int idPuntoDeControl) {
this.idPuntoDeControl = idPuntoDeControl;
}
public String getNombrePuntoDeControl() {
return nombrePuntoDeControl;
}
public void setNombrePuntoDeControl(String nombrePuntoDeControl) {
this.nombrePuntoDeControl = nombrePuntoDeControl;
}
}