Estou recebendo um objeto Vector serializado de um servlet… como “de-serializá-lo” e convertê-lo num novo objecto Vector em meu Midlet?
Como voce esta enviando?
Eis o código que utilizo para receber a resposta do servlet…
[code]
try {
HttpConnection conn =(HttpConnection)Connector.open(wstring); //envia uma expressao via método GET
InputStream is = conn.openInputStream();
int data = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((data = is.read()) >= 0) { //recebe o retorno do servlet
baos.write(data);
}
retorno = new String(baos.toByteArray());
conn.close(); //fecha o httpconnection
is.close(); // fecha o inputstream
System.out.println("Retorno: " + wstatus + "/" + retorno);
} catch (Exception ex) {
ex.printStackTrace();
} [/code]
E como voce envia?
Precisa existir um protocolo de como enviar para quando receber saber de-serializar os dados.
[quote=Mark_Ameba]E como voce envia?
Precisa existir um protocolo de como enviar para quando receber saber de-serializar os dados.[/quote]
Então, mas estou recebendo de um servlet, não fui eu quem o desenvolvi… mas sei q é um objeto Vector…
Veja se o pacote de classes do Midlet tem a classe ObjectInputStream que se ela foi enviada pelo ObjectOutputStream essa classe é suficiente para transformar o resultado no Vector novamente.
é, infelizmente o j2me nao possui essa classe… :roll:
Então voce precisa descobrir o padrão que usaram ao enviar para poder transformar no Vector denovo.
Foi usada a classe ObjectOutputStream para me enviar, porém não tenho Input no j2me…
Putz… então não sei. Procurei na net uma classe OIS para J2ME mas não encontrei.