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:

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);}
	}
}
Questo il lato server:
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);}
	}
}