Erro em Web Service

0 respostas
F

Oi, gente. Bom dia!

Sou calouro em WS. Criei um serviço e um cliente web. O serviço deve me retornar registros de uma tabela da minha BD. Abaixo, seguem os trechos(tô usando NetBeans 5.5 e PostreSQL 8.1):

//Trecho do cliente JSP

<%

try

{

app.ServicoService service = new app.ServicoService();

app.Servico port = service.getServicoPort();

// TODO process result here

java.util.List<java.lang.Object> result = port.listaContexto();

out.println("Result = " + result.size());

} catch (Exception ex)

{



}

%>
//Trecho que funciona

public class Servico

{



private int coUsuario;

private int coContextoUsuario;

private String noContextoUsuario;
public void setCoUsuario(int coUsuario)
{
   this.coUsuario = coUsuario;
}
    
public void setCoContextoUsuario(int coContextoUsuario)
{        
   this.coContextoUsuario = coContextoUsuario;
}
...
@WebMethod 
public ArrayList listaContexto()     
{                   
    ...
    String sql = "SELECT co_usuario, co_contexto_usuario " +
                      "   FROM tb_contexto_usuario" +                    
                     "  ORDER BY no_contexto_usuario";  
    ...
    ArrayList result = new ArrayList();
    try
    {	            
       while (rs.next()) 		
       {               
 [i]          [b]Servico serv = new Servico();            
           
           /* 
           serv.setCoUsuario(rs.getInt("co_usuario"));            
           serv.setCoContextoUsuario(rs.getInt("co_contexto_usuario"));                           
                    
           result.add(serv);                        
           */
           result.add("TESTE");   [/b]   [/i]                  
       }
     }                                         
     return result;
  }      
  catch (java.sql.SQLException e) 
  {                  
     ...
  }

}

Usando o trecho acima, o cliente recebe e imprime o valor 5(que é a qtde d registros retornados pelo SELECT. No entanto, se o trecho abaixo for executado, o cliente nada imprime. Percebam, que a única diferença entre o trecho acima e o abaixo é que o de baixo o trecho

serv.setCoUsuario(rs.getInt(co_usuario));

serv.setCoContextoUsuario(rs.getInt(co_contexto_usuario));

result.add(serv);

não está comentado.

//Trecho do serviço web

public class Servico

{



private int coUsuario;

private int coContextoUsuario;

private String noContextoUsuario;
public void setCoUsuario(int coUsuario)
{
   this.coUsuario = coUsuario;
}
    
public void setCoContextoUsuario(int coContextoUsuario)
{        
   this.coContextoUsuario = coContextoUsuario;
}
...
@WebMethod 
public ArrayList listaContexto()     
{                   
    ...
    String sql = "SELECT co_usuario, co_contexto_usuario " +
                      "   FROM tb_contexto_usuario" +                    
                     "  ORDER BY no_contexto_usuario";  
    ...
    ArrayList result = new ArrayList();
    try
    {	            
       while (rs.next()) 		
       {               
       [i]   [b] Servico serv = new Servico();            
            
           serv.setCoUsuario(rs.getInt("co_usuario"));            
           serv.setCoContextoUsuario(rs.getInt("co_contexto_usuario"));                           
                    
           result.add(serv);   [/b]    [/i]                 
       }
     }                                         
     return result;
  }      
  catch (java.sql.SQLException e) 
  {                  
     ...
  }

}

Desde já, agradeço.

Criado 8 de maio de 2007
Respostas 0
Participantes 1