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 :

Deploiement Web Service avec AxisJBoss


Sujet :

Services Web Java

  1. #21
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    j'ai trouvé un doc papier qui decrit l'installation d'axis, l'auteur a signalé l'ajout de la ligne <Context path="/axis" docBase="axis" debug="0" reloadable="true"/>

    sous l'élément <Host> dans le ficher server.xml , et après il faut ajouter les fichiers .jar dans le CLASSPATH du répértoire AXIS_HOME/lib. voilà!

    A propos de l'erreur que j'obtient, faut il mettre dericetement les fichiers.class dans axis.war\WEB-INF\jwsClasses ?

  2. #22
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Sous Tomcat / GlassFish, le fichier .class est généré automatiquement par Axis. Si aucun nom de package n'est spécifié, le fichier .class se trouve directement dans le répertoire jwsClasses. Si un nom de package mon.package a été spécifié, le fichier .class se trouve dans un répertoire mon\package.
    Sous JBoss, si aucun nom de package n'est spécifié, le déploiement se passe bien, mais aucun fichier .class n'est créé. Enfin, si un nom de package mon.package est créé, on tombe sur le cas d'erreur, même en créant un répertoire jwsClasses\mon\package et en y plaçant le fichier .class...

    À propos de la modification du fichier server.xml, cela n'a rien changé, mais tu n'as toujours pas dit de quels fichiers .jar tu parles...

  3. #23
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    en fait il s'agit des fichiers suivants:
    1) axis.jar
    2) jaxrpc.jar
    3) log4j-core.jar
    4) commons-logging.jar
    5) wsdl4j.jar
    6)xerces.jar
    7) tt-bytecode.jar

    je te signale que jene dispose pas des deux derniers ..

  4. #24
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Parcontre, le probleme n'est pas encore resolu malgré le changement du placement du fichier .class.. je l'ai mis directement dans
    server\default\deploy\axis.war\WEB-INF\jwsClasses
    Mais toujours le meme probleme!!

    que faire ???

  5. #25
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    En fait, le chemin cité dans l'exception correspond bien à un répertoire temporaire existant sur JBoss (jboss-4.2.2.GA\server\default\tmp\deploy\tmp33427axis-exp.war\WEB-INF\jwsClasses), mais en y plaçant le fichier HelloService.class, le serveur renvoie désormais une erreur 500 lorsque je souhaite accéder au contrat WSDL :
    10:09:12,853 INFO [STDOUT] - Exception:
    java.lang.NoClassDefFoundError: HelloService (wrong name: service/HelloService)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
    at org.apache.axis.utils.JWSClassLoader.<init>(JWSClassLoader.java:69)
    at org.apache.axis.handlers.JWSHandler.setupService(JWSHandler.java:243)
    at org.apache.axis.handlers.JWSHandler.generateWSDL(JWSHandler.java:294)
    at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
    at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:454)
    at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
    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:597)
    at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
    at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)a
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    Je regarde à propos des jars.

  6. #26
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    Le problème que j'ai c'était la génération du fichier wsdl..
    en fait, comme tu disais il ne faux pas spécifier un package pour que le déploiement se passe bien!

    finalement, quand on utilise Eclipse, on est obligé d'écrire notre web service sous un package, mais quand on recopie le WS et le renommer.jws, à ce moment il faux absolument effacer "package monpackage" qui est à l'entête du fichier HelloService.java !

    il reste maintenant à ecrire un client java qui va consommer ce Web Service.. en effet, il faux ecrire un programme pricipal ( contenant la methode main), mais je ne vois pas ou placer ce fichier? sachant que je developpe sous eclipse?
    est ce que tu as une idée stp? Merci une autre fois

  7. #27
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par asmoune Voir le message
    il reste maintenant à ecrire un client java qui va consommer ce Web Service.. en effet, il faux ecrire un programme pricipal ( contenant la methode main), mais je ne vois pas ou placer ce fichier?
    Peu importe.

    Le client sait comment retrouver le service web grâce au endpoint, donc le client peut accéder au service web depuis n'importe où si le service web est déployé correctement.

  8. #28
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    D'accord..vu que je développe sous eclipse3.2, j'ai crée un package "monpackage" dans mon projet appelé TestWS. dans monpackage, j'ai crée mon service Web ( HelloService.java) et mon client java que j'appelle TestClient.java. jusque là tout va bien. Le déploiement se fait correctement je pense, car le fichier wsdl se génère automatiquement, bien sur aprés avoir lancé jboss..Maintenant pour appeler mon service Web par le client, il faux absolument compiler ce dernier. Sous eclipse je fais Run As -->java application, effectivement le code se compile et m'affiche la ligne suivante:

    Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

    et en dessous de cette ligne, il affiche ce que je m'attendais: Hello John

    à ce niveau je pose les questions suivantes:
    1) Est ce que tu as des remarques sur ce qui a été fait?
    2) si je dispose d'un client de type jsp,( appelé par exemple client.jsp) et que mon service Web doit se connecter à la base de données pour y répondre, comment je peux voir le résultat de l'exécution de cette opération?
    3) une troisième et une dernière question, si je veux utiliser le descripteur de deploiement wsdd, comment faire?

    Merci pour ton aide encore..

  9. #29
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par asmoune Voir le message
    D'accord..vu que je développe sous eclipse3.2, j'ai crée un package "monpackage" dans mon projet appelé TestWS. dans monpackage, j'ai crée mon service Web ( HelloService.java) et mon client java que j'appelle TestClient.java. jusque là tout va bien. Le déploiement se fait correctement je pense, car le fichier wsdl se génère automatiquement, bien sur aprés avoir lancé jboss..Maintenant pour appeler mon service Web par le client, il faux absolument compiler ce dernier. Sous eclipse je fais Run As -->java application, effectivement le code se compile et m'affiche la ligne suivante:

    Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

    et en dessous de cette ligne, il affiche ce que je m'attendais: Hello John

    à ce niveau je pose les questions suivantes:
    1) Est ce que tu as des remarques sur ce qui a été fait?
    2) si je dispose d'un client de type jsp,( appelé par exemple client.jsp) et que mon service Web doit se connecter à la base de données pour y répondre, comment je peux voir le résultat de l'exécution de cette opération?
    3) une troisième et une dernière question, si je veux utiliser le descripteur de deploiement wsdd, comment faire?

    Merci pour ton aide encore..
    1)
    2) Explique-toi mieux, souhaites-tu réaliser un service web qui effectue des requêtes sur une base de données ?
    3) Suis le guide utilisateur d'Axis...

  10. #30
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    En ce qui concerne le deploiement en utilisant le fichier WSDD, j'ai crée mon cfichier wsdd que je nomme deploy.wsdd, et je l'ai placé au meme endroit que mon service Web.; mais quand je compile mon client, il ne s'execute pas vu qu'il ne m'affiche pas la meme chose si je deplyais avec jws..

    je me demande en fait si j'ai oublié quelques choses !!
    Merci pour ton aide

  11. #31
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    j'ai lu dans un tuto qu'il faux mettre le fichier .wsdd dans le même répertoire que .wsdl, après avoir recopié le fichier .class dans le répertoire jwsClasses... moi je ne vois pas ou il est le fichier .wsdl? est cer qu'il faux le recopier de la page indiquant la bonne installation de axis?
    J'en sais rien.. aide svp

  12. #32
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Si l'implémentation de ton service se trouve dans la classe mon.package.Monservice, alors tu devras placer le fichier compilé Monservice.class dans le répertoire axis\WEB-INF\classes\mon\package.

    Peu importe l'emplacement du fichier deploy.wsdd, il suffit simplement de le passer à l'utilitaire AdminClient via la commande suivante :
    java org.apache.axis.client.AdminClient deploy.wsdd
    Attention toutefois à inclure les jar d'Axis dans le classpath ou sinon utiliser le script deploy.bat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    set OLD_CLASSPATH=%CLASSPATH%
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\axis.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\jaxrpc.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\commons-discovery-0.2.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\commons-logging-1.0.4.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\saaj.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\lib\log4j-1.2.8.jar
    java -classpath "%CLASSPATH%" org.apache.axis.client.AdminClient deploy.wsdd
    set CLASSPATH=%OLD_CLASSPATH%
    Le fichier server-config.wsdd du répertoire axis\WEB-INF sera alors mis à jour et le service Monservice devra alors figurer sur la liste des services déployés sur le serveur Axis (les services AdminService et Version sont présents par défaut).

  13. #33
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Par défaut
    il faux donc mettre le fichier deploy.bat dans le répertoire axis.war/WEB-INF après l'avoir crée?c'est ce que j'ai fait..

    une autre chose quand je passe la commande:
    java org.apache.axis.client.AdminClient deploy.wsdd


    il m'affiche le message suivant:

    Exception in thread "main" java.lang.NoClassDefFoundError: /arg/apache/axis/client/AdminClient

    je ne sais pas comment régler cette erreur?

    Pour le fichier server-config.wsdd, je ne trouve aucune trace !!

    merci pour ta reponse!

  14. #34
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Citation Envoyé par asmoune Voir le message
    il faux donc mettre le fichier deploy.bat dans le répertoire axis.war/WEB-INF après l'avoir crée?c'est ce que j'ai fait..
    Comme on peut le voir avec l'accès au fichier deploy.wsdd dans le script deploy.bat, ces deux fichiers doivent se trouver dans le même répertoire. Or, comme l'emplacement du fichier deploy.wsdd importe peu...

    Citation Envoyé par asmoune Voir le message
    une autre chose quand je passe la commande:
    java org.apache.axis.client.AdminClient deploy.wsdd


    il m'affiche le message suivant:

    Exception in thread "main" java.lang.NoClassDefFoundError: /arg/apache/axis/client/AdminClient

    je ne sais pas comment régler cette erreur?
    Les librairies ne figurent sans doute pas dans ton classpath : pour cela, tu peux modifier la variable d'environnement CLASSPATH (clic droit sur le Poste de travail > Propriétés > Avancé > Variables d'environnement) ou sinon utiliser le script deploy.bat.

    Citation Envoyé par asmoune Voir le message
    Pour le fichier server-config.wsdd, je ne trouve aucune trace !!
    C'est un fichier que j'ai dans le répertoire axis\WEB-INF sur Tomcat 6.0, serveur d'applications que j'utilise le plus souvent, mais je m'aperçois que ce fichier est absent sur Tomcat 5.5, GlassFish v2, ainsi que dans l'archive axis.war\WEB-INF sur JBoss 4.2...

Discussions similaires

  1. Appeler un web service avec pl/sql
    Par squalito dans le forum PL/SQL
    Réponses: 5
    Dernier message: 17/09/2012, 15h21
  2. [Debutant]création de web services avec JWS
    Par Mehdi_82 dans le forum Services Web
    Réponses: 3
    Dernier message: 09/07/2008, 20h22
  3. [Debutant] Web services avec Jboss WS
    Par Invité dans le forum Services Web
    Réponses: 1
    Dernier message: 14/08/2006, 13h52
  4. Déploiement de Web Service avec InstallShield
    Par _beber85 dans le forum Services Web
    Réponses: 7
    Dernier message: 12/07/2006, 13h28
  5. [Web Service][avec Struts]un tuto? un lien?
    Par javazer dans le forum Struts 1
    Réponses: 3
    Dernier message: 28/03/2006, 18h32

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