Passar objeto serializado no VRaptor

1 resposta
H

Desenvolvi uma classe que devera fornecer um serviço que contenha uma lista de pessoas de forma serializada.

Mas ao enviar o objeto de forma serializada, está sendo retornado um erro no lado servidor. E ao mesmo tempo
no lado cliente está sendo enviado o resultado corretamente o que eu gostaria de saber, se o erro que me retorna
é normal ou existe uma maneira de corrigir o mesmo.

Mensagem de Erro:

OBSERVAÇÃO: O cliente é implementado utilizando a especificação JEE

@Component("serializableWS")
public class SerializableWS {

	@In
	private HttpServletResponse response;
	
	@Remotable
	public void getListPessoa() {
		try {

			List<Pessoa> list = new ArrayList<Pessoa>();
			
			for(int i = 0 ; i < 1 ; i++) {
				list.add(new Pessoa(i,"Marcela" + i,"Feminino" + i , new Date()));
			}
			
		    ServletOutputStream outputStream = response.getOutputStream();
		    ObjectOutputStream out = new ObjectOutputStream(outputStream);
		    
		    // Escreve a lista no response
		    out.writeObject(list);
		    
		    out.close();
		    outputStream.close();
		
		} catch (Exception e) {
		}
	}
	
}

OBSERVACAO:

O cliente e composto apenas da especificação JSE

Este é o metodo criado na parte cliente que da acesso a lista de pessoas.

private static void getSerializacao() {
		System.out.println("SERIALIZACAO");
		ClientWS clientWS = new ClientWS();
		try {
			long t1 = System.currentTimeMillis();
			//String result = clientWS.getURL("http://localhost:8087/WebService/serializableWS.getListPessoa.ajax.logic");
			List<Pessoa> o = (List<Pessoa>) clientWS.getObject("http://localhost:8087/WebService/serializableWS.getListPessoa.logic");
			long t2 = System.currentTimeMillis() - t1;
			
			System.out.println("time: " + t2 + " | result: " + o.get(0).getNome());
		} catch (Exception e) {
			System.out.println("Falha no serviço . Error: " + e);
		}
	}
	
	public Object getObject(String value) throws IOException, ClassNotFoundException {
		
		if(value == null) {
			throw new IllegalArgumentException("value cannot be null");
		}
		
		URL url = new URL(value);

		ObjectInputStream br = new ObjectInputStream(url.openStream());

		Object obj = br.readObject();

		return obj;
	}

1 Resposta

H

Alguém pode me ajudar ?

Criado 31 de março de 2009
Ultima resposta 1 de abr. de 2009
Respostas 1
Participantes 1