Salve a tutti! alla pressione di questo bottone di una applet, vengono catturati i dati (name, surname..) e inviati alla classe Gestore_ordine. questa mi compone un xml che invierebbe ad un server, solo che passa null! (ho verificato che la stringa prima del trasferimento è correttamente riempita).
idee??
PS: quando premo il bottone5, il messaggio "Ordine invato" mi compare due volte! Come è possibile??
pps: NOn mi viene nessun errore, neanche nella console java
thx
codice:private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { //INVIA ORDINE if(!socket.isClosed()){ name=jTextField5.getText(); surname=jTextField6.getText(); city=jTextField7.getText(); email=jTextField2.getText(); address=jTextField3.getText(); phone=jTextField4.getText(); payment=(String)jComboBox3.getSelectedItem(); total=Float.parseFloat(jTextField8.getText()); int pos =(jList1.getModel()).getSize(); if(pos==0){JOptionPane.showMessageDialog(null,"Carrello vuoto!","Music store online",1);} if(name.equals("")&&surname.equals("")&&city.equals("")&&email.equals("")&&address.equals("")&&phone.equals("")){ JOptionPane.showMessageDialog(null,"Alcuni campi sono vuoti!.","Music store online",0); }else{ Gestore_Ordine go = new Gestore_Ordine(socket, ordiniVector, name, surname, city, address, phone, email, payment, total); go.inviaXML(socket); } }else{JOptionPane.showMessageDialog(null,"Impossibile inviare, server down.","Music store online",0);} }
Questa è la classe Gestore_ordine:
Questo il lato server:codice://Gestore_Ordine import java.io.*; import java.net.*; import java.util.Calendar; import java.util.Date; import java.text.*; import java.util.Vector; import javax.swing.JOptionPane; public class Gestore_Ordine{ private Socket socket; private Vector ordiniVector; private Vector artVector; private String nome; private String cognome; private String citta; private String address; private String tel; private String email; private String payment; private float total; public Gestore_Ordine(Socket s, Vector o, String nome, String cognome, String citta, String address, String tel, String email, String payment, float total){ this.nome=nome; this.cognome=cognome; this.citta= citta; this.address=address; this.tel= tel; this.email= email; this.payment= payment; this.total=total; socket=s; this.ordiniVector=o; this.artVector=creaArtVector(o); } private String dataCorrente(){ SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy"); return f.format(new Date()); } private Vector creaArtVector(Vector ordiniVector){ int i,j; Vector artVector = new Vector(0); for(j=(ordiniVector.size()-1);j>=0;j--){ Ordine ord = (Ordine) ordiniVector.get(j); String artista = ord.getArtista(); for(i=(artVector.size()-1);i>=0;i--){ if(artVector.get(i).equals(artista)) break; } if(i<0){artVector.add((String)ord.getArtista());} } return artVector; } private String creaScritta(Vector ordiniVector, Vector artVector){ int i,j; String scritta=""; scritta+="<?xml version=\"1.0\"?><?xml-stylesheet type=\"text/xsl\" href=\"ordineXSL.xsl\"?>"; scritta+="<order data=\""+dataCorrente()+"\">"; for(i=(artVector.size()-1);i>=0;i--){ String artista = (String)artVector.get(i); scritta+="<artist name=\""+artista+"\">"; for(j=(ordiniVector.size()-1);j>=0;j--){ Ordine ord = (Ordine) ordiniVector.get(j); if(artista.equals((String)ord.getArtista())){ scritta+="<album titolo=\""+ord.getTitolo()+"\">"; scritta+="<copies>"+ord.getCopie()+"</copies>"; scritta+="<price>"+ord.getPrezzo()+"</price>"; scritta+="</album>"; } } scritta+="</artist>"; } scritta+="<name>"+nome+"</name>"; scritta+="<surname>"+cognome+"</surname>"; scritta+="<city>"+citta+"</city>"; scritta+="<address>"+address+"</address>"; scritta+="<phone>"+tel+"</phone>"; scritta+="<email>"+email+"</email>"; scritta+="<payment>"+payment+"</payment>"; scritta+="<total>"+total+"</total>"; scritta+="</order>"; return scritta; } public void inviaXML(Socket socket){ String s = creaScritta(ordiniVector,artVector); if(!socket.isClosed()){ try{ BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())); bw.write(s); JOptionPane.showMessageDialog(null,"Ordine Inviato","Gestore Magazzino",1); }catch(IOException e){JOptionPane.showMessageDialog(null,"Errore nell'invio dell'ordine","Gestore Magazzino",0);} }else{JOptionPane.showMessageDialog(null,"Impossibile inviare!","Gestore Magazzino",0);} } }
codice:public void run(){ int i = (int) Math.random()*10000; Generatore_Catalogo_XML gc = new Generatore_Catalogo_XML(); if(gc.isConnesso()){ if(validate_XML()){ sendXML(socket); }else{} } if(gc.isConnesso()){ try{System.out.println("QUI"); String s = null; BufferedReader br = new BufferedReader( new InputStreamReader(socket.getInputStream()) ); //RICEVO ORDINE System.out.println("Client - In attesa dell'ordine..."); while(s==null){s = br.readLine();}System.out.println(s); // Ricevo il pacchetto dati //byte[] pacchetto = (byte[]) ois.readObject(); // Lo scrivo nel file di destinazione FileOutputStream fos = new FileOutputStream("C:\\EasyPHP1-8\\www\\ordini\\"+i+"ordine"+dataCorrente()+".xml"); PrintStream out = new PrintStream(fos); out.println(s); fos.close(); }catch(IOException e){System.out.println("Client - Ordine non ricevuto");} }else{System.out.println("Server - Persa comunicazione con: "+socket);} } }

Rispondi quotando