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 :

Best practices / Versions de WSDL


Sujet :

Services Web Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut Best practices / Versions de WSDL
    Bonjour,

    Je souhaite vérifier que mes classes clientes ont bien été générées à partir du même WSDL que celui qu'expose mon serveur.
    Je pensais que c'était fait automatiquement par le framework, mais visiblement, ce n'est pas le cas . Pouvez-vous me dire quelles sont les bonnes pratiques ?

    Merci,

    Ektor

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Je sais pas, genre tagger ton projet dans l'outil contrôle de version (CVS,SVN, GIT,...) juste après avoir créé les classes correspondant à ton WSDL...

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    Bonjour

    Sinok, le TAG CVS ne garantit en aucun cas les problèmes de prod ou d'intégration. S'il y a un râté et que tu n'update pas un de tes client ou que tu ne met à jour que le fournisseur de service, tout tes clients accèderont qd même aux services avec des stubs générés à partir d'une vieille version de ton WSDL.

    J'ai bien pensé à rajouter un élément spécifique dans mon WSDL destiné à contenir un numéro de version ou une date de production. En affichant cette donnée côté consommateur du WS on peut facilement vérifier la cohérence / WSDL du fournisseur de service obtenu par http://url_ws/svc_name?wsdl.

    <JMS ou RMI>
    Je pensais qu'il y avait d'autre moyen de faire cela en se basant sur des mécanismes natifs. Par exemple quand on fait du JMS, la cohérence des classes messages est contrôlée à la désérialisation : l'API vérifie que le serialVersionUID de l'objet sérialisé correspond à celui de la classe dans laquelle on veut le faire rentrer. L'API claque une exception dès que le provider et le consumer utilisent des versions de classes différentes.
    </JMS ou RMI>

    Après un peu de recherche, je pense qu'une solution consiste à passer par un registry et d'utiliser la propriété version de l'objet trouvé.

    Autre solution, changer l'URL ou avoir le numéro de version dans l'URL d'accès au WS (http://url_ws/Version_xyz/svc_name?wsdl), ça permet en plus de faire cohabiter plusieurs versions.

    Mais tout de même quand amazon change son interface, il va pas appeler tout ses utilisateurs pour leur dire de recompiler leur soft... Comment ça se passe alors ?

    Ektor.

Discussions similaires

  1. Réponses: 11
    Dernier message: 16/06/2006, 13h46
  2. swing best practices.
    Par bbclone dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 07/06/2006, 10h14
  3. Réponses: 4
    Dernier message: 23/05/2006, 14h22

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