Utilisation d'un service sous Axis2

Utilisation d'un service sous Axis2 - Java - Programmation

Marsh Posté le 27-05-2009 à 11:16:27    

Bonjour,
 
Il ne me manque plus que ce point à éclaircir pour finaliser mon projet :)
 
Je créer mon Web service en tant que projet Axis2 sous NetBeans, je le compile et le déploie sans aucune problème.
 
Voilà ce que ma structure donne une fois déployé sous Axis2 :
 
http://img40.imageshack.us/img40/5333/capturerkfd.jpg
 
Mon problème réside dans le teste de celui-ci à partir de l'url :
 

Code :
  1. http://localhost:8080/axis2/servic [...] ?service=1


 

Code :
  1. <soapenv:Reason>
  2. <soapenv:Text xml:lang="en-US">
  3. Exception occurred while trying to invoke service method tauxInscriptionService
  4. </soapenv:Text>
  5. </soapenv:Reason>


 
Et ça pour mes quatre méthodes, je me doute donc qu'il doit y avoir un problème de conception (encore) dans mon code . . .
 
J'ai d'abord essayé de générer un client via Netbeans et grâce au drag & drop des méthodes (où le code est généré automatiquement) du Web service mais les erreurs sont les mêmes.
 
Ma classe java en question :
 

Code :
  1. package packageWS;
  2. import java.sql.*;
  3. public class NewAxisFromJava
  4. {
  5.     Connection con;
  6.     static String Driver = "com.mysql.jdbc.Driver";
  7.     static String url = "jdbc:mysql://192.168.1.45:3306/base_projet";
  8.     static String login = "damien";
  9.     static String password = "damien";
  10. //-------------------------------------------------------
  11. // Initialisation du driver OBCD.
  12. //-------------------------------------------------------
  13. private void Database()
  14. {
  15.     try
  16.     {
  17.         // Driver JDBC
  18.         Class.forName(Driver);
  19.     }
  20.     catch(Exception e)
  21.     {
  22.         System.out.println("Erreur lors du chargement du driver:"+ e.getMessage());
  23.     }
  24. }
  25. //-------------------------------------------------------
  26. // Connection à la base de données.
  27. //-------------------------------------------------------
  28. private void Open()
  29. {
  30.     try
  31.     {
  32.         con = DriverManager.getConnection(url,login,password);
  33.     }
  34.     catch(Exception e)
  35.     {
  36.         System.out.println("echec d'ouverture:"+e.getMessage());
  37.     }
  38. }
  39. //-------------------------------------------------------
  40. // Fonction de formatage de Double au centième.
  41. //-------------------------------------------------------
  42. static final String ZEROES = "000000000000";
  43. static final String BLANKS = "            ";
  44. static String format( double val, int n, int w)
  45. {
  46.     double incr = 0.5;
  47.     for( int j=n; j>0; j--) incr /= 10;
  48.     val += incr;
  49.     String s = Double.toString(val);
  50.     int n1 = s.indexOf('.');
  51.     int n2 = s.length() - n1 - 1;
  52.     if (n>n2)      s = s+ZEROES.substring(0, n-n2);
  53.     else if (n2>n) s = s.substring(0,n1+n+1);
  54.     if( w>0 & w>s.length() ) s = BLANKS.substring(0,w-s.length()) + s;
  55.     else if ( w<0 & (-w)>s.length() )
  56.     {
  57.         w=-w;
  58.         s = s + BLANKS.substring(0,w-s.length()) ;
  59.     }
  60.     return s;
  61. }
  62. //-------------------------------------------------------
  63. // Calcul du taux d'inscrit par service.
  64. //-------------------------------------------------------
  65. private int NombrePotentielIncrit(int service)
  66. {
  67.      Database();
  68.      Open();
  69.      int nbrInscritP = 0;
  70.      try
  71.      {
  72.         String sql = "SELECT COUNT(ID_usager) AS nb_inscription_potentielle " +
  73.         "FROM usager, service WHERE (Age_min_service<=ROUND(DATEDIFF(NOW(),Date_naissance)/365.25,0)" +
  74.         "<=Age_max_service) AND ID_service=" + service + ";";
  75.         Statement stmt = con.createStatement();
  76.         ResultSet r = stmt.executeQuery(sql);
  77.         while (r.next())
  78.         {
  79.             nbrInscritP = r.getInt(1);
  80.         }
  81.         con.close();
  82.      }
  83.      catch (SQLException ex)
  84.      {
  85.      }
  86.      return nbrInscritP;
  87. }
  88. private int NombreInscrit(int service)
  89. {
  90.     Database();
  91.     Open();
  92.     int nbrInscrit = 0;
  93.     try
  94.     {
  95.         String sql = "SELECT COUNT(*) FROM inscription WHERE id_service = " + service + ";";
  96.         Statement stmt = con.createStatement();
  97.         ResultSet r = stmt.executeQuery(sql);
  98.         while (r.next())
  99.         {
  100.                 nbrInscrit = r.getInt(1);
  101.         }
  102.         con.close();
  103.     }
  104.     catch (SQLException ex) {
  105.     }
  106.     return nbrInscrit;
  107. }
  108. public String tauxInscriptionService(int service)
  109. {
  110.     double taux = 0;
  111.     double nbrPI = 0;
  112.     double nbrI = 0;
  113.     nbrPI = new Double(NombrePotentielIncrit(service));
  114.     nbrI = new Double(NombreInscrit(service));
  115.     taux = (nbrI / nbrPI)*100;
  116.     String s = format(taux,2,1);
  117.     return s;
  118. }
  119. //------------------------------------------------------------------
  120. // Fonction de calcul du Taux de personnes ayant réglé la cantine.
  121. //------------------------------------------------------------------
  122. private int NombreInscritRegles()
  123. {
  124.     Database();
  125.     Open();
  126.     int nbrInscritR = 0;
  127.     try
  128.     {
  129.         String sql = "SELECT COUNT(*) FROM inscription, inscription_usager " +
  130.             "WHERE inscription.ID_inscription_usager= inscription_usager.ID_inscription_usager " +
  131.             "AND YEAR( Date_paiement_periode ) = YEAR( Date_dernier_paiement ) " +
  132.             "AND (MONTH( Date_dernier_paiement ) = MONTH( Date_paiement_periode ) " +
  133.             "OR (MONTH( Date_dernier_paiement )-1) = MONTH( Date_paiement_periode )) " +
  134.             "AND (01 <= DAY( Date_dernier_paiement ) <= 03) AND ID_service = 5;";
  135.         Statement stmt = con.createStatement();
  136.         ResultSet r = stmt.executeQuery(sql);
  137.         while(r.next())
  138.         {
  139.             nbrInscritR = r.getInt(1);
  140.         }
  141.         con.close();
  142.     }
  143.     catch (SQLException ex) {
  144.     }
  145.     return nbrInscritR;
  146. }
  147. public String tauxPaiementsCantineRegles()
  148. {
  149.     double taux = 0;
  150.     double nbrI = 0;
  151.     double nbrIR = 0;
  152.     nbrI = new Double(NombreInscrit(5));
  153.     nbrIR = new Double(NombreInscritRegles());
  154.     taux = (nbrIR / nbrI)*100;
  155.     String s = format(taux,2,1);
  156.     return s;
  157. }
  158. //------------------------------------------------------------------
  159. // Fonction de calcul du Taux de personnes étant en retard pour
  160. // le paiment de la cantine.
  161. //------------------------------------------------------------------
  162. public String tauxPaiementsCantineRetard()
  163. {
  164.     double taux = 0;
  165.     double nbrI = 0;
  166.     double nbrIR = 0;
  167.     double nbrINR = 0;
  168.     nbrI = new Double(NombreInscrit(5));
  169.     nbrIR = new Double(NombreInscritRegles());
  170.     nbrINR = nbrI - nbrIR;
  171.     taux = (nbrINR / nbrI)*100;
  172.     String s = format(taux,2,1);
  173.     return s;
  174. }
  175. //---------------------------------------------------------------------------
  176. // Fonction de calcul du Taux de paiement de la cantine non réglé à l'année.
  177. //---------------------------------------------------------------------------
  178. private int NombreInscritNonReglesAnnee(int annee)
  179. {
  180.     Database();
  181.     Open();
  182.     int nbrInscritNR = 0;
  183.     try
  184.     {
  185.         String sql = "SELECT SUM(nb_non_paiement) FROM non_paiement" +
  186.                 " WHERE YEAR(Date)=" + annee + ";";
  187.         Statement stmt = con.createStatement();
  188.         ResultSet r = stmt.executeQuery(sql);
  189.         while(r.next())
  190.         {
  191.             nbrInscritNR = r.getInt(1);
  192.         }
  193.         con.close();
  194.     }
  195.     catch (SQLException ex) {
  196.     }
  197.     return nbrInscritNR;
  198. }
  199. private int NombreInscritAnnee(int annee)
  200. {
  201.     Database();
  202.     Open();
  203.     int nbrInscritAnnee = 0;
  204.     try
  205.     {
  206.         String sql = "SELECT SUM(nb_personne_inscrite) FROM non_paiement" +
  207.                 " WHERE YEAR(Date)=" + annee + ";";
  208.         Statement stmt = con.createStatement();
  209.         ResultSet r = stmt.executeQuery(sql);
  210.         while(r.next())
  211.         {
  212.             nbrInscritAnnee = r.getInt(1);
  213.         }
  214.         con.close();
  215.     }
  216.     catch (SQLException ex) {
  217.     }
  218.     return nbrInscritAnnee;
  219. }
  220. public String tauxPaiementsCantineNonRegles(int annee)
  221. {
  222.     double taux = 0;
  223.     double nbrI = 0;
  224.     double nbrINR = 0;
  225.     nbrI = new Double(NombreInscritAnnee(annee));
  226.     nbrINR = new Double(NombreInscritNonReglesAnnee(annee));
  227.     taux = (nbrINR / nbrI)*100;
  228.     String s = format(taux,2,1);
  229.     return s;
  230. }
  231. }


Message édité par wifsimster le 27-05-2009 à 11:19:10

---------------
-- Turns your mind towards BeTa --
Reply

Marsh Posté le 27-05-2009 à 11:16:27   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed