Foros del Web » Programación para mayores de 30 ;) » Java »

java.io.streamCorruptedException, ¿cómo solucionarla?

Estas en el tema de java.io.streamCorruptedException, ¿cómo solucionarla? en el foro de Java en Foros del Web. Hola, Estoy desarrollando una aplicación que está compuesta por un applet y un servlet. El applet ya lo tengo codificado y probado, y (a excepción ...
  #1 (permalink)  
Antiguo 20/02/2012, 06:07
 
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 20
Antigüedad: 12 años, 6 meses
Puntos: 1
java.io.streamCorruptedException, ¿cómo solucionarla?

Hola,

Estoy desarrollando una aplicación que está compuesta por un applet y un servlet.
El applet ya lo tengo codificado y probado, y (a excepción de la parte de comunicaciones) funcionando.
El applet tiene que ir recogiendo datos que le proporciona el cliente, y formando una lista y enviándolas por una conexión URL, y después recoge el resultado que va a ser un string.
El código que utiliza el applet para conectarse al servidor es:

Código:
private String conectarServidor () {
    
        String respuesta = "";

        try {

            //Creacion del la URL
            URL pagina = this.getCodeBase();
            String protocolo = pagina.getProtocol();
            String servidor = pagina.getHost();
            int puerto = pagina.getPort();
            String servlet = "/simulador";
            URL direccion = new URL (protocolo,servidor,puerto,servlet);
            //Apertura de la conexion
            URLConnection conexion = direccion.openConnection();
            conexion.setDoInput(true);
            conexion.setDoOutput(true);
            conexion.setUseCaches(false);

            ObjectOutputStream oos = new ObjectOutputStream (conexion.getOutputStream());
            oos.writeInt(numQubits);
            lista_puertas.guardarLista(oos); //Método probado        
            oos.flush();
            
            ObjectInputStream ois = new ObjectInputStream(conexion.getInputStream());
            respuesta = (String) ois.readObject();
            
            oos.close();
            ois.close();

        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            return respuesta;
        }
    } //Fin del método conectarServidor
Por otra parte, el servlet tiene que recoger la lista que le ha enviado el applet, hacer una serie de cálculos y devolver el string resultado.

Código:
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
            ObjectInputStream ois = new ObjectInputStream(request.getInputStream());
            int numQubits = ois.readInt
            lista_puertas.recuperarLista(ois);  //Método probado
            output.recuperarLista(ois);           //Método probado
            response.setContentType("application/x-java-serialized-object");
            ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
            oos.writeObject(this.ejecutarAlgoritmo()); //Método ejecutarAlgoritmo() probado, devuelve un string

            ois.close();
            oos.close();
}

El caso es que al una vez creado el .war y con la aplicación desplegada en el servidor (utilizo tomcat), al ejecutarla salta la siguiente excepción:

Código:
----------------------------------------------------
Detected from bootclasspath: C:\\PROGRA~2\\Java\\jre7\\lib\\deploy.jar
java.io.StreamCorruptedException: invalid stream header: 3C212D2D
	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
	at java.io.ObjectInputStream.<init>(Unknown Source)
	at cliente.PruebasApplet.conectarServidor(PruebasApplet.java:1427)
	at cliente.PruebasApplet.boton_EjecutarActionPerformed(PruebasApplet.java:1387)
	at cliente.PruebasApplet.access$1700(PruebasApplet.java:26)
	at cliente.PruebasApplet$35.actionPerformed(PruebasApplet.java:817)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
Me he vuelto loca intentando solucionarlo yo sola pero no lo consigo, por lo que agradecería enormemente alguna ayudita.
Gracias y un saludo

Silvia.

Etiquetas: jar, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.