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 :

Consommer un web service JAX-WS avec un client JDK 1.4 ?


Sujet :

Services Web Java

  1. #1
    Membre régulier

    Inscrit en
    Août 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Août 2006
    Messages : 93
    Points : 120
    Points
    120
    Par défaut Consommer un web service JAX-WS avec un client JDK 1.4 ?
    Bonjour,

    J'ai développé un web service avec JAX-WS et le JDK 6.
    Il fonctionne parfaitement (sous JBoss 4.2.3), les appels se font sans problème.

    Maintenant, je dois réussir à appeler ce web service avec un client qui est en JDK 1.4. Je teste pour le moment avec XFire... mais pas moyen d'y arriver.

    Est-ce techniquement possible ? Je n'arrive pas du tout à les faire communiquer...

    Au mieux, j'arrive à appeler ma méthode, mais il ne prend pas le paramètre en compte. Voilà ce que le client envoie :

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body>
    <sayHello xmlns="mon_namespace">
    <name xmlns="mon_namespace">testeur</name>
    </sayHello>
    </soap:Body>
    </soap:Envelope>

    En faisant des essais avec Soapui, j'ai vu que pour avoir une réponse correcte, je devais plutôt envoyer un message du style :

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body>
    <ns1:sayHello xmlns:ns1="mon_namespace">
    <name [Plus de xmlns ici>testeur</name>
    </ns1:sayHello>
    </soap:Body>
    </soap:Envelope>

    Je n'arrive pas à faire côté client les modifications pour avoir le message correct. La doc Aegis sur le site Xfire est limitée... je me demande donc si c'est possible.

    Est-ce que vous avez une idée ? Je dois peut-être faire des modifs de l'autre côté (le Web Service), mais je suis un peu perdu...

    Merci
    JB

  2. #2
    Membre régulier

    Inscrit en
    Août 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Août 2006
    Messages : 93
    Points : 120
    Points
    120
    Par défaut
    Bon j'ai un peu avancé

    Pour répondre à la question de départ : oui c'est possible.

    Voilà en gros ma méthode :

    ObjectServiceFactory objectFactory = new ObjectServiceFactory();
    objectFactory.setStyle(SoapConstants.STYLE_DOCUMENT);
    objectFactory.setUse(SoapConstants.USE_LITERAL);

    Service serviceModel = objectFactory.create(IRemoteService2.class,
    "IRemoteService2",
    "[LE NAMESPACE DU WEB SERVICE", null);

    XFire xfire = XFireFactory.newInstance().getXFire();
    XFireProxyFactory factory = new XFireProxyFactory(xfire);

    String serviceUrl = "[URL DU WEB SERVICE]";

    IRemoteService2 service = (IRemoteService2) factory.create(
    serviceModel, serviceUrl);

    service.sayHello("Jibee");
    OK, ça marche bien en DOCUMENT/LITERAL, RPC/LITERAL...
    J'aurais aimé faire fonctionner tout ça avec un Web Service "DOCUMENT/LITERAL/WRAPPED"

    Dans ce cas, je met :

    objectFactory.setStyle(SoapConstants.STYLE_WRAPPED);
    objectFactory.setUse(SoapConstants.USE_LITERAL);
    Mais là ça ne fonctionne plus... je retombe exactement dans le cas du premier message. J'ai essayé de jouer avec le mapping Aegis pour faire mettre un namespace prefix... mais j'y arrive pas.

    Avez-vous svp une idée de la marche à suivre pour faire marcher tout ça ?
    Est-ce possible ? Peut-être que le WRAPPED à la sauce JBoss WS/JAX-WS n'est pas compatible avec Xfire ??? Je vous accorde que je m'y perds un peu dans tous ces standards.

    Merci d'avance,
    JB

Discussions similaires

  1. Web Service JAX-WS avec Spring
    Par FuneralRose dans le forum Services Web
    Réponses: 2
    Dernier message: 17/09/2012, 23h40
  2. Consommer les web services de JasperServer avec .NET (C#)
    Par maverick911 dans le forum Jasper
    Réponses: 0
    Dernier message: 05/05/2010, 10h52
  3. Consommer un web service C# avec un client PHP
    Par legide dans le forum Services Web
    Réponses: 4
    Dernier message: 24/12/2009, 16h54
  4. [Web Service] Consommer un web service avec PHP
    Par tonton93 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 29/10/2008, 15h28
  5. Réponses: 5
    Dernier message: 15/04/2008, 15h52

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