Je dois envoyer un objet du client au serveur en le sérialisant.
Ceci est mon code:StreamCorruptedException, lors de l'utilisation de ObjectInputStream
HttpURLConnection con = null;
ObjectOutputStream out = null;
ObjectInputStream inputStream = null;
URL servlet = new URL("MY_URL");
con = (HttpURLConnection) servlet.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setDefaultUseCaches(false);
con.setRequestProperty("Content-type", "application/octet-stream");
con.setRequestMethod("POST");
out = new ObjectOutputStream(con.getOutputStream());
out.writeObject(myobject);
out.flush();
out.close();
inputStream = new ObjectInputStream(con.getInputStream());
inputStream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
// inputStream.close();
con.disconnect();
}
return true;
Maintenant, je suis en mesure d'atteindre le Servlet, et je peux récupérer l'objet par là.
Le seul problème est que dès que j'arrive à cette ligne:
inputStream = new ObjectInputStream(con.getInputStream());
Je reçois un StreamCorruptedException d'exception, au côté client. (Au tout côté serveur fonctionne bien!) Et si je prends cette ligne hors tension, le servlet pas déclenché (je veux dire l'doGet()
ou doPost()
pas appelé dans le servlet)
Qu'est-ce que je fais mal?
Ceci est l'erreur exacte:
06-02 12:41:53.549: WARN/System.err(4260): java.io.StreamCorruptedException
06-02 12:41:53.549: WARN/System.err(4260): java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:2399)
06-02 12:41:53.549: WARN/System.err(4260): at java.io.ObjectInputStream.<init>(ObjectInputStream.java:447)
Merci,
Ray
Quelle est l'erreur exacte? –
Editer la question – rayman