Aide Codage WebService svp
Bonjour,
Je suis débutant J2ME et je suis actuellement en train de codé un WebService en J2me qui me permettra de récupéré des informations sur la base de donnée d'un restaurant. Voici mon codage jusqu'a présent ( je ne vous donne que la connexion et la déconnexion, puis le listage des tables du restaurant pour ne pas trop en mettre ^^ ):
Code:
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
| @WebService()
public class WebServiceVenezia {
//Pour la Connecter.
Connection Objconnecter;
//Pour éxéxuter la requête.
Statement ObjStatement;
//DriverManager ObjDriverManager;
DataSource Ds ;
InitialContext Ic;
//Pour Obtenir le Resultat de la requete.
ResultSet Resultat;
/**
* Web service operation
*/
//----------------------------------------------------------*---------
//Cette Fonction permet de se connecter à la base de donnée.
//----------------------------------------------------------*---------
@WebMethod()
private boolean connecter(){
//Valeur de retour de la fonction: true si connecter réussie sinon false
boolean ValRet = false;
try {
Ic = new InitialContext();
//On désire se connecter à la base de donnée stock.
Ds = (DataSource) Ic.lookup("stock");
Objconnecter = Ds.getConnection();
ValRet = true;
} catch (NamingException ex) {
ex.printStackTrace();
} catch (SQLException ex){
ex.printStackTrace();
}
return ValRet;
}
//-------------------------------------------------------------------
//Cette Fonction permet de se déconnecter de la base de donnée.
//-------------------------------------------------------------------
@WebMethod()
private boolean deconnecter() {
//Valeur de retour de la fonction: True si déconnecter réussie sinon false.
boolean ValRet = false;
try{
Objconnecter.close(); //Fermeture de la connection.
ValRet = true;
} catch (SQLException ex){
ex.printStackTrace();
}
return ValRet;
}
//-------------------------------------------------------------------
//Cette Fonction permet de calculer le nombre d'enregistrement que l'on va obtenir
//suivant la requete passée en paramètre.
//-------------------------------------------------------------------
@WebMethod
private int calculerTaille(@WebParam(name = "prmRequete")String prmRequete){
//Valeur de retour de la fonction.
int NbEnregistrement = 0;
//Requete pour laquelle on veut connaitre le nombre d'enregistrement.
String requete = "";
requete = prmRequete;
//Permet d'obtenir le nombre d'enregistrement en fonction de la requete "prmRequete"
try{
connecter();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requete);
Resultat.last(); //Dernier enregistrement de la base
//On veut connaitre la ligne du dernier enregistrement.
NbEnregistrement = Resultat.getRow();
ObjStatement.close();
deconnecter();
} catch (SQLException ex){
ex.printStackTrace();
}
return NbEnregistrement;
}
//---------------------------------------------------------------
// Cette Fonction permet de récupérer la liste des tables du restaurant.
//---------------------------------------------------------------
@WebMethod(/*operationName = "ListeTable"operationName = "ListerTable"*/)
public String [] ListerTables(@WebParam(name = "ListTable")
String ListTable) {
//Stock la liste des Tables du Réstaurant.
String [] ListeTables = null;
//Représente les Tables.
int i = 0;
//Stock le Nombre de Tables du Restaurant.
int NbTables = 0;
//Récupération et stockage du nombre de Tables du Restaurant.
//NbTables = LireNombreTables();
//Requête Permettant d'obtenir la liste des Tables du Restaurant par numéro de tables croissants.
String requeteListeTables = "";
ListeTables = new String[NbTables];
requeteListeTables = "SELECT numTable FROM visu_table ORDER BY numTable";
//Permet d'obtenir les Tables du Restaurant.
try {
connecter();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requeteListeTables);
//Pour chaque Tables on récupère le nom.
for(i = 0;i < NbTables; i++){
Resultat.next();
ListeTables[i] = Resultat.getString("ChoixTable");
}
ObjStatement.close();
deconnecter();
} catch (SQLException ex){
ex.printStackTrace();
}
//TODO write your implementation code here:
return ListeTables;
} |
Le souci c'est que j'obtient des messages d'erreur au endroit suivant :
Objconnecter = Ds.getConnection();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requete);
ObjStatement.close();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requeteListeTables);
ObjStatement.close();
Si quelqu'un a une idée merci de son aide précieuse ! je suis près à donner mon adresse mail si besoin de plus de précision !
Cordialement!