Bonjour et merci d'avance de prendre 2 3 minutes pour me lire.
J'utilise tomcat depuis peu avec pour objectif d'intégrer un web service.
Mon projet est en trois phases 1 de developpement et mise au point d'un Jar
de stockage de donnée il fonctionne très bien.
et il charge des class via class.forName et instanciation dynamique et réflexivite.
Seconde phase.
Je crée un projet web dans Eclipse(Helios) Jdk 1.6 avec Axis2 mon projet va bien dans tomcat 6 dans éclipse.
fonctionne bien affiche bien les résultats attendu dans le web services Explorer d'éclipse
jusque là parfait.
Mais arrivé aux méthodes qui utilisent l'instanciation dynamique et réflexivité Tomcat refuse de fonctionné
Pour l'instant je n'utilise pas de thread c'est pour la 3ieme phase.
voici le log de la console Eclipse
le log me parait abscon et obscure. si vous avez des pistes ?
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 [ERROR] Exception occurred while trying to invoke service method setcreateObj org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method setcreateObj at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:158) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:636) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) ... 19 more Caused by: java.lang.NullPointerException at alphadevApi.ExternalServices.setcreateObj(ExternalServices.java:75)
Voici le bean de mon webservice
il fonctionne tres bien pour l'ouverture et la creation des structure de donnée.
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 public class MedecWs { private ExternalServices serv = new ExternalServices(); public int getIdSession() { // static InitCom.profile InitCom.profile = "/home/ggu/project/conf-file/" + "Desktopggu" + ".properties"; int idsession = serv.getIdsession(); return idsession; } public boolean closeSession(int idsession) { return serv.closeSession(idsession); } public void saveDatal(String Uri, int idsession) { serv.saveDodel(Uri, idsession); } public String getQuery(String sQuery, int idsession) { return erv.getQuery(sQuery, idsession); } public String setcreateObj(String sbject, String uri, int idsession) { return serv.setcreateObj(sObject, uri, idsession); } public String setObjPropertie(String sObject, String uri, String sMethodName,String sPropertieValue, int idsession) { return serv.setObjPropertie(sObject, uri, sMethodName, sPropertieValue, idsession); } public int getidstring() { return 12345; //en dur pour test } public String getPopu() { return serv.getnsPopu(); } }
J'ai bien vérifié mes dépendances et autres mais je me demande si l'instanciation dynamique & reflexicite dans une webapp si c'est accepté
Je vois pas pourquoi Tomcat refuserait sela dans la webapp mais bon je me pose la question ...
Je souhaite simplement que ma webapp instancie les objects dinamiquement via le webservice avec 1 seul session et par la suite j'améliorerai en multi-session.
Je vous remercie encore
Partager