Je dois faire une communication entre une applet et une servlet, j'ai donc créé une classe transmission qui est sérialisable.
Seulement au moment de la création de l'objectInputStream dans l'applet j'ai une exception : java.io.StreamCorruptedException : invalid stream header.
J'ai tenté de mettre en commentaire le buffer d'écriture (ObjectOutputStream), pour voir si c'était interdit d'avoir 2 stream, mais l'erreur est toujours là.
Je ne vois pas où peut être l'erreur, merci d'avance pour votre aide.
Voila mon code (la ligne d'erreur est au milieu) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 URLConnection connexion = null; TransmissionReponse transReponse = null; try{ urlServlet = new URL("http://adresseServlet"); connexion = urlServlet.openConnection(); connexion.setDoOutput(true); //récupération du loginNT de la personne String strLoginNT = System.getProperty("user.name"); //transmission de la requete ObjectOutputStream bufferEcriture = new ObjectOutputStream(connexion.getOutputStream()); TransmissionRequete transRequete = null; transRequete = new TransmissionRequete("AUTH", "SELECT * FROM UTILISATEURS WHERE LoginNT='"+strLoginNT+"'", (String)(this.ihm.getFrame().getPnlAuthentification()).getListeBases().getSelectedValue()); bufferEcriture.writeObject(transRequete); //reception de la réponse ObjectInputStream bufferLecture = new ObjectInputStream(connexion.getInputStream()); //ERREUR ICI transReponse = (TransmissionReponse)bufferLecture.readObject(); //vérification de l'absence d'erreur if (transReponse.getMessage().equals("OK")==false){ JOptionPane.showMessageDialog(this.getIhm().getFrame(), transReponse.getMessage().toString(), "Erreur", JOptionPane.ERROR_MESSAGE); } //vérification que le nom était dans la base return true; } catch(IOException erreur){ JOptionPane.showMessageDialog(this.getIhm().getFrame(), erreur.toString(), "Erreur", JOptionPane.ERROR_MESSAGE); return false; } catch (ClassNotFoundException erreur) { JOptionPane.showMessageDialog(this.getIhm().getFrame(), erreur.toString(), "Erreur", JOptionPane.ERROR_MESSAGE); return false; }
Partager