IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Problème d'exception dans Wicket avec CXF


Sujet :

Services Web Java

  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 63
    Par défaut Problème d'exception dans Wicket avec CXF
    Bonjour,
    Je suis en train de développer une petite appli dans la boîte ou je fais mon stage. Cette appli est développée avec Wicket et elle à pour objectif d'appeler de s'appuyer sur des DAO qui appelent des WebService pour récupérer des infos sur des clients. Mon problème porte sur les exceptions.

    Dans un premier cas, le WS ne remonte jamais d'exception donc, le DAO se sert d'une code dans la réponse pour lever une exception (FunctionalException ou TechnicalException) en fonction de ce code. Pour ce premier cas, aucun problème du coté Wicket, je catch très bien les 2 types d'exception et affiche le message à l'utilisateur.

    Dans un 2eme cas (autre WS), le WS peut retourner 2 types d'exception au DAO (TechnicalErrorFault ou FunctionalErrorFault). Le développeur du DAO a catcher ces 2 exceptions et pour en relancer 2 autres, respectivement TechnicalException et FunctionalException histoire d'harmoniser le comportement des DAO. Et bien dans ce cas, de mon côté, impossible de récupérer des 2 exceptions. Lors d'un test sur mon appli qui est censé générer un exception j'ai une superbe erreur (cf ci dessous) alors que dans le TU de son DAO avec les même paramètre en entrée, je catch bien l'exception et j'affiche le bon message dans la console.

    Voici fameuse erreur, visiblement un problème avec CXF mais je ne comprend rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    10:22:31,192 INFO  ClientDAOImpl(65) - entree dans la methode : critere -> com.test.bean.CritereClient@add729ce
    java.lang.NoClassDefFoundError
            at org.apache.cxf.interceptor.ClientFaultConverter.setStackTrace(ClientFaultConverter.java:215)
            at org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFaultConverter.java:75)
            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
            at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
            at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
            at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
            at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
            at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2131)
            at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2014)
            at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1939)
            at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
            at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
            at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
            at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
            at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
            at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
            at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
            at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:127)
     
            at $Proxy119.wsRechercheClient(Unknown Source)
    	/* dans le cas normal, l'exception commence ici et je récupère le message de l'exception */
            at com.test.impl.ClientDAOImpl.doStuff(testDAOImpl.java:85)
            at com.ihm.page.clientPanel$1.onSubmit(clientPanel.java:35)
            at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1536)
            at org.apache.wicket.markup.html.form.Form.process(Form.java:925)
            at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:887)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182)
            at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
            at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
            at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
            at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
            at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
            at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
            at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
            at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
            at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:52)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
            at com.security.filter.SecurityFilter.doFilter(SecurityFilter.java:259)
            at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:52)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
            at com.security.filter.IpFilter.doFilter(IpFilter.java:70)
            at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:52)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
            at org.objectweb.jonas.web.catalina55.ResetAuthenticationValve.invoke(ResetAuthenticationValve.java:107)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
            at java.lang.Thread.run(Thread.java:595)
    Si l'erreur vous rappel quelque chose n'hésitez pas à me filer un coup de pousse ou une piste.

  2. #2
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 63
    Par défaut
    J'ai du nouveau si cela peut aiguiller quelqu'un. Je viens de m'apercevoir qu'au premier coup ou je lance le cas qui doit lever l'exception, l'erreur n'est pas la même que les fois suivante.
    Il s'agit d'une
    ExceptionInInitializerError
    au lieu d'une
    NoClassDefFoundError
    . Et il y a 3 ligne en plus qui sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Caused by: java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
            at javax.xml.xpath.XPathFactory.newInstance(Unknown Source)
            at org.apache.cxf.helpers.XPathUtils.<clinit>(XPathUtils.java:34)
    Pour info nous travaillons sous Maven avec plusieurs projets qui partagent plusieurs lib

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/09/2009, 21h52
  2. [MySQL] problème d'affichage dans tableau avec bdd Mysql
    Par sinifer dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/05/2009, 09h50
  3. problème d'affichage dans ruby avec ajax
    Par Lunardirc dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 23/06/2008, 14h59
  4. Réponses: 6
    Dernier message: 25/09/2007, 13h33
  5. probléme d'exception dans un formulaire
    Par minie dans le forum Struts 1
    Réponses: 2
    Dernier message: 05/06/2007, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo