Web service et traitement des exceptions

Web service et traitement des exceptions - Java - Programmation

Marsh Posté le 03-04-2014 à 17:21:56    

Bonjour,
je suis entrain de développer un web service qui fait appel à une fonction. Cette fonction traite des exceptions.
Le web service fonctionne très bien sans exception mais dés que je l'ajoute, une erreur à l'excution du projet s'affiche :
"Le contexte [/CMS_GRM] n'a pas encore été démarré a été rencontrée
D:\NetBeansProjects\CMS_GRM\nbproject\build-impl.xml:1055: The module has not been deployed.
See the server log for details."
 
 
voilà mon web service :

Code :
  1. package WebService;
  2. import CMS.CMS_CardStatusException;
  3. import CMS.CMS_Exception;
  4. import javax.jws.WebService;
  5. import javax.jws.WebMethod;
  6. import javax.jws.WebParam;
  7. import javax.jws.WebResult;
  8. /**
  9. *
  10. * @author User
  11. */
  12. @WebService(targetNamespace = "http://WebService/" )
  13. public class NEC_WS {
  14.     /**
  15.      * Web service operation
  16.      */
  17.     @WebMethod(operationName = "ChangeCardStatus" )
  18.     public int changeCardStatus(@WebParam(name = "ApplicationId" ) int applicationId, @WebParam(name = "CardNumber" ) String cardNumber, @WebParam(name = "CardStatusId" ) int cardStatusId) throws CMS_Exception, CMS_CardStatusException {
  19.         CMS.Controller c = new CMS.Controller();
  20.         int res = c.ChangeCardStatus(cardNumber, applicationId, cardStatusId);
  21.         return res;
  22.     }


 
la fonction "ChangeCardStatus"
 

Code :
  1. public int ChangeCardStatus(String CardNumber, int ApplicationId, int cardStatusId) throws CMS_Exception, CMS_CardStatusException {
  2.         int result = 0;
  3.         int res = 0;
  4.          configFileURL = HibernateUtil.class.getResource("/hibernate.cfg.xml" );
  5.             Configuration config2 = (new Configuration()).configure(configFileURL);
  6.             factory2 = config2.
  7.                     addAnnotatedClass(GRM.ApplicationCardStatuses.class).
  8.                     addAnnotatedClass(GRM.CardStatus.class).buildSessionFactory();
  9.         Session session2 = factory2.openSession();
  10.         Transaction tx2 = null;
  11.         try {
  12.             tx2 = session2.beginTransaction();
  13.             GRM.CardStatus cardState = new GRM.CardStatus();
  14.             GRM.CardStatus newCardState = new GRM.CardStatus(cardStatusId);
  15.             Query query1 = session2.createQuery("From GRM.ApplicationCardStatuses st where st.applicationId= ?" );
  16.             query1.setParameter(0, ApplicationId);
  17.             if (query1.list().isEmpty() == true) {
  18.                 throw new CMS_Exception("ApplicationId does not exist in the DataBase!" );
  19.             } else {
  20.                 List<GRM.ApplicationCardStatuses> cartesGRM = query1.list();
  21.                 for (GRM.ApplicationCardStatuses carteGRM : cartesGRM) {
  22.                     cardState = carteGRM.getCardStatus();
  23.                     int PreviousStatusId = cardState.getCardStatusId();
  24.                     res = CardStatusCompatibility(cardStatusId, PreviousStatusId);
  25.                     if (res != 0) {
  26.                         throw new CMS_CardStatusException(cardStatusId, PreviousStatusId, res);
  27.                     } else {
  28.                         carteGRM.setStatusDate(new Date());
  29.                         carteGRM.setCardStatus(newCardState);
  30.                     }
  31.                 }
  32.                 tx2.commit();
  33.                 result = 0;
  34.            }
  35.         } catch (HibernateException e) {
  36.             if (tx2 != null) {
  37.                 tx2.rollback();
  38.             }
  39.             e.printStackTrace();
  40.             result = 1;
  41.         } catch (CMS_Exception ex) {
  42.             System.out.println("Exception generated : " + ex.getMessage());
  43.             result = 1;
  44.         } catch (CMS_CardStatusException e) {
  45.             e.printStackTrace();
  46.             result = 1;
  47.         } finally {
  48.             session2.close();
  49.         }
  50.         return result;
  51.     }


 
et la classe CMS_Exception
 
 

Code :
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package CMS;
  7. import javax.xml.ws.WebFault;
  8. /**
  9. *
  10. * @author aghazouani
  11. */
  12. @WebFault(name="WebServiceCMS_Exception",
  13.         targetNamespace="http://WebService/" )
  14. public class CMS_Exception extends Exception {
  15.      private CMS_Exception faultInfo;
  16.     public CMS_Exception (){
  17.       // System.out.print("ApplicationId does not exist in the DataBase!" );
  18.     }
  19.     public CMS_Exception( String msg) {
  20.      super(msg);
  21.     }
  22. public CMS_Exception getFaultInfo() {
  23.         return faultInfo;
  24.     }
  25. }


 
j'ai bien cherché ailleurs mais j'ai pas trouvé de solutions. Merci de m'aider   :??:

Reply

Marsh Posté le 03-04-2014 à 17:21:56   

Reply

Marsh Posté le 04-04-2014 à 21:03:28    


si tu as l'erreur suivante sur le serveur au déploiement du Web Service
dans le fichier out je suppose  
"Le contexte [/CMS_GRM] n'a pas encore été démarré a été rencontrée
D:\NetBeansProjects\CMS_GRM\nbproject\build-impl.xml:1055: The module has not been deployed.
See the server log for details."

 
Le fichier suivant n'existe pas sur le serveur
D:\NetBeansProjects\CMS_GRM\nbproject\build-impl.xml
 
NB : en général on ne met pas les chemins 'en dur' sur un serveur  
 
Il y a apparemment un fichier avec des logs complémentaires (fichier err ?).
 
Mais je parie que le chemin est paramétré en dur dans un fichier de conf à déterminer et que le fichier xml n'est pas à l'endroit indiqué.

Reply

Sujets relatifs:

Leave a Replay

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