Olá pessoal , estou com um problema para baixar um aquivo via aplicação java, estou logando em um site e em seguida acessando uma URL que possui um arquivo JAR, porém, está dando erro no oos.writeObject(obj); Estou usando um framwork de teste chamado httpunit;
Tem alguma outra forma de fazer isso ? Alguém sabe ?
ERRO:
java.io.NotSerializableException: com.meterware.httpunit.HttpWebResponse
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at teste3.getBytes(teste3.java:15)
at teste3.main(teste3.java:40)
import com.meterware.httpunit.;
import junit.framework.;
import java.io.*;
import java.lang.String;
class teste3 extends TestCase {
public static byte[] getBytes(Object obj) throws java.io.IOException{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
oos.close();
bos.close();
byte [] data = bos.toByteArray();
return data;
}
public static void main(String args[]){
try {
WebConversation wc = new WebConversation();
WebResponse wr = wc.getResponse("http://localhost:porta/sbconsole/jsp/login/login_form.jsp");
wr.getFormWithName("loginform").setParameter("j_username", "login");
wr.getFormWithName("loginform").setParameter("j_password", "senha");
wr.getFormWithName("loginform").submit();
byte[] jar = getBytes((Object)wc.getResponse("http://www.teste.com.br/arquivo.jar"));
String fileName;
fileName = "saveBytesToFileObject.jar";
FileOutputStream outStream = new FileOutputStream(fileName);
outStream.write(jar);
outStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}