Web services retornando array eh possivel?

3 respostas
R

Olá,

estou implementando um web service e quero retornar um array para a aplicacao, vc sabe como fazer ? quero retornar um resultset por exemplo.nao consigo ,. diz que tenho que serializar .

se vc tiver alguma dica, agradeço se puder ajudar.

ai vai o codigo fonte. veja so: ele nao da erro na compilacao naum. o codigo esta certo. o problema eh que quando tento gerar o web service, ele nao habilita o metodo getRegistrosOracle() que eu criei. por que nao ? so porque retorna um array ao inves de retornar string ? mas eu PRECISO retornar um array. como eu faço ?

se ja tiver passado por isso e puder me ajudar, agradeco muito.

[]´s
Rafael

import java.sql.*;

import java.util.Arrays;

import java.util.List;

import java.util.Vector;
public class LOORACLE

{

public LOORACLE()

{

}

public class LO

{

public int lo;

public String tit;

}

LO[] retOracle;
public LO[] getRegistrosOracle()

{

Connection con;

Statement stmt;

ResultSet uprs;

String urlOracle = “jdbc:oracle:thin:@ip:porta:ORCL”;

try

{

Class.forName(“oracle.jdbc.driver.OracleDriver”);

}

catch(java.lang.ClassNotFoundException e)

{

System.err.print("ClassNotFoundException: ");

System.err.println(e.getMessage());

}

try

{

con = DriverManager.getConnection(urlOracle, “usuario”, “senha”);

stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

uprs = stmt.executeQuery(“SELECT * FROM TABELA”);
int i=0;

uprs.beforeFirst();

while(uprs.next())

{

i++;

}

retOracle = new LO[i];

i=0;
uprs.beforeFirst();

while (uprs.next())

{

retOracle[i] = new LO();

retOracle[i].lo = uprs.getInt(codlo);

retOracle[i].tit = uprs.getString(titulo);

System.out.println(retOracle[i].tit + " " + retOracle[i].tit);

i++;

}
uprs.close();

stmt.close();

con.close();

}

catch(SQLException e)

{

System.err.println(e.getMessage());

}

return retOracle;

}
/* public static void main(String [] args)

{

LOORACLE z = new LOORACLE();

LO a[] = z. getRegistrosOracle();

System.out.println(a[0].tit );

}*/
}

3 Respostas

_fs

Não posso te ajudar com isso cara, mas uma dica: quando for postar código, coloque todo ele dentro de tags

[code]seu código[/code]

Ai fica bonito e endentado hehe

louds

Voce pode retornar um array, porém não um resultset.

N

Ae Rafael,

Um servlet retorna o que o protocolo HTTP permite, basicamente, HTML/SGML.

A solução mais recomendada para você retornar um resultset seria retornar um XML e fazer um parsing no seu cliente.

Boa sorte.

Criado 5 de dezembro de 2003
Ultima resposta 8 de dez. de 2003
Respostas 3
Participantes 4