Ciao ragazzi, sto lavorando su un webservices basato su SOAP, l'ho implementato in Java utilizzando Netbeans come IDE. La mia domanda è:
che metodo sarebbe giusto usare nell’ambito delle checkbox? cioè devo prendere i valori da questi e poi passarli al server, ho piu di 20 Checkbox sul mio client che possono essere attivate o meno, un esempio potrebbe essere (per sesso di una persona), "femmina","maschio" oppure tutte e due, ho cercato di creare un'array in run-time che mi memorizzi il dato multiplo femmina,maschio o maschio e femmina che poi lo passo al server, però questo metodo mi sembra molto complesso da realizzare con tanti checkbox, mi potete dare una mano per la gestione di questi dati da passare al server? Quale potrebbe essere una gestione snella da caricare sul mio database?
Qui posto il mio codice:
codice:
private void salvaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
disease=malattia.getText();
sexarra=new String[sexint];
if(sexint==1)
sexarra[0]=sexone;
else if(sexint==0)
JOptionPane.showMessageDialog(null, "Bisogna specificare almeno un valore del campo sesso", "Errore", JOptionPane.ERROR_MESSAGE);
else{
sexarra[0]=sexone;
sexarra[1]=sextwo;}
// System.out.print(sexarra[0]);
// System.out.println(sexarra[1]);
description=descrizione.getText();
agestr=eta.getText();
if(agestr.equalsIgnoreCase(""))
JOptionPane.showMessageDialog(null, "Il campo età non può essere vuoto", "Errore", JOptionPane.ERROR_MESSAGE);
age=Integer.parseInt(agestr);
if( age<=0 || age>=110){
JOptionPane.showMessageDialog(null, "Il valore inserito nel campo età non è giusto", "Errore", JOptionPane.ERROR_MESSAGE);
}
else{
try {
URL url = new URL("http://localhost:8080/soap/servlet/rpcrouter");
//costruzione della chiamata
Call chiamata = new Call();
chiamata.setTargetObjectURI("urn:ServerNeuro");
chiamata.setMethodName("ricerca");
chiamata.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
SOAPMappingRegistry smr = new SOAPMappingRegistry();
StringDeserializer sd = new StringDeserializer ();
smr.mapTypes (Constants.NS_URI_SOAP_ENC, new QName ("", "return"), null, null, sd);
chiamata.setSOAPMappingRegistry(smr);
//creazione dei parametri
Vector parametri = new Vector();
parametri.addElement(new Parameter("malattia", String.class, disease, null));
parametri.addElement(new Parameter("eta", Integer.class, age, null));
parametri.addElement(new Parameter("descrizione", String.class, description, null));
chiamata.setParams(parametri);
try {
Response risp = chiamata.invoke(url, "");
if (risp.generatedFault()) {
Fault fault = risp.getFault();
System.err.println("Chimata Fallita");
System.err.println("Code: " + fault.getFaultCode());
System.err.println("descrizione: " + fault.getFaultString());
} else {
Parameter par = risp.getReturnValue();
msg = (String) par.getValue();
System.out.print(msg);
}
} catch (SOAPException e) {
System.out.println("Errore causata da: (" + e.getFaultCode() + ") :" + e.getMessage());
msg = "errore";
}
} catch (MalformedURLException ex) {
System.out.println("Exception: " + ex.getMessage());
}
if (msg.equals("si")) {
JOptionPane.showMessageDialog(null, "Attenzione il utente inserito è gia esistente nel database", "ATTENZIONE", JOptionPane.ERROR_MESSAGE);
}}
}
private void femminaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(femmina.isSelected()){
if(sexint==0){
sexint++;
sexone=femmina.getText();
}
else if(sexint==1){
sexint++;
sextwo=femmina.getText();
}
else
sexint--;
System.out.println(sexint);
}
}
private void maschioActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(maschio.isSelected()){
if(sexint==0){
sexint++;
sexone=maschio.getText();
}
else if(sexint==1){
sexint++;
sextwo=maschio.getText();
}
else
sexint--;
System.out.println(sexint);
}
}
Attendo risposta, e grazie in anticipo