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 :

[TomCat/Axis] Webservices et types complexes


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut [TomCat/Axis] Webservices et types complexes
    Bonjour à tous,

    Avant tout chose, je tiens à préciser que j'ai fait plusieurs recherches sur le forum sans succès. J'expose donc mon problème ici :
    Je souhaites créer un webservice. Voici la marche que j'ai suivi :

    - Installation de TomCat (dernière version)
    - Installation de Axis 1.4 dans le répertoire webapps de tomcat.
    - Ecriture de mon service web. (.java)
    - Copie du .java obtenu dans le répertoire Axis en modifiant l'extension en "jws" (méthode "à l'arrache", j'utiliserais la méthode propre de déploiement lorsque cela marchera)
    - Si je vais sur "http://localhost:8080/axis/monService.jws", axis trouve bien un webservice et je peux consulter son WSDL.
    - J'ai donc généré l'interface qui me permettera de me connecter à ce webservice grâce à l'outil WSDL2Java. Une fois les fichiers java obtenus, je les ai compilés (pour avoir mes .class) et j'ai généré un package nommé "InterfaceMonWebService.jar"
    - J'ai écrit mon client en utilisant mon package ci-dessus, je retrouve bien mes JavaBeans utilisés dans mon webservice ainsi que les classes générés par Axis pour acceder à mon webservice.

    Cependant, lorsque je lance mon client, j'arrive à contacter mon webservice mais celui-ci me renvoi une erreur :
    - APPEL AU SERVICE
    probleme:org.xml.sax.SAXException: Deserializing parameter 'lesBeans': could not find deserializer for type {http://echange.beans}BeanTransfert
    BUILD SUCCESSFUL (total time: 2 seconds)
    Y-a-t-il un problème dans ma manière de faire. Quelqu'un pourrait-il m'aiguiller ?
    J'ai également soulevé une anomalie (en est-ce vraiment une ?) dans ce tread pensant que cela pourrait provenir de là mais sans grande conviction.

    Merci à tous pour l'aide que vous pourriez m'apporter car là je fait du sur place depuis 48h

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Aurais-tu des classes Sérializer?
    Bizarre qu'il essaye de désérializer le type http://echange.beans.

    Tu sais d'ou cela proviens?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    {http://echange.beans}BeanTransfert

    Je ne vois qu'une seule explication :
    Mon JavaBeans "BeanTransfert" se trouve dans un package "beans.echange" ce qui est le cas

    Dans mon ".jar" d'interface, j'ai bien un package nommé beans.echange dans lequel se trouve mon fichier "BeanTransfert.class"

    Concernant le fait qu'il soit sérializable, lors de la génération avec WSDL2Java, il a rendu mes beans sérializable en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class BeanTransfert implements java.io.Serializable{
     
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 68
    Points : 39
    Points
    39
    Par défaut
    Je l'ai déployé proprement via un fichier wsdd mais j'ai toujours le même problème que dans mon premier message.

    Vraiment personne pour me filer un coup de main ?

    Je suis sûr qu'ici quelqu'un a déjà développé un webservice et a fait circuler des objets.

    Merci à tous

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    une piste : il faut sépicfier le mapping lors du déploiement.
    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <service name="test" provider="java:RPC">
      <parameter name="allowedMethods" value="*"/>
      <parameter name="className" value="monpackage.test"/>
      <beanMapping languageSpecificType="java:monpackage.util.Retour" qname="ns1:Retour" xmlns:ns1="urn:MonUrn"/> </service>

Discussions similaires

  1. Service Web avec Axis et types complexes.
    Par Skyman37 dans le forum Services Web
    Réponses: 17
    Dernier message: 13/01/2011, 09h28
  2. Réponses: 5
    Dernier message: 17/01/2008, 13h18
  3. Webservice avec AXIS , Eclipse et retour de type complexe
    Par Ashen-Shugar dans le forum Services Web
    Réponses: 2
    Dernier message: 26/12/2007, 21h24
  4. [VB.NET][WebServices]Retour d'un type complexe
    Par fragmonster dans le forum Services Web
    Réponses: 5
    Dernier message: 12/04/2007, 16h20
  5. [Eclipse 3.1][Tomcat][Axis]Probleme execution WebService
    Par beZor dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/02/2006, 13h55

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