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;
		}