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

C Discussion :

[GSOAP] Un programme avec 2 webservices clients


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 37
    Points
    37
    Par défaut [GSOAP] Un programme avec 2 webservices clients
    Bonjour,

    Je dois mettre en oeuvre un programme qui selon une configuration appel une webservice X ou un webservice Y.

    Mon problème réside dans la multiplicité des déclarations quand on utilise gsoap pour compiler les webservice. On a un fichier soapC.c par webservice client etc etc

    Du coup à la compilation du programme principale, en incluant les deux webservices, on se retrouve avec des erreurs du type "multiple definition of ..." dans tous les sens.

    Est ce quelqu'un aurait ne serait ce qu'un début de piste pour corriger mon problème ?

    D'avance merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Bonjour,

    Citation Envoyé par Gédéon Voir le message
    Est ce quelqu'un aurait ne serait ce qu'un début de piste pour corriger mon problème ?
    Poste ton code ici (avec les balises [ CODE ]), et les messages d'erreur à la compilation. On va tâcher de t'aider.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 37
    Points
    37
    Par défaut
    C'est malheureusement compliqué de pasté le code, il y en a beaucoup et un peu partout. Je peux essayer de résumer la situation.

    J'ai un premier répertoire /home/gedeon/malibA avec 1 wsdl et les modules générées associées : soapC.c soapH.h et les sources C générés par les commandes wsdl2 puis soapcpp2

    J'ai un deuxième répertoire /home/gedeon/malibB avec un second wsdl qui n'a rien à voir avec le premier. Avec pour lui aussi les soapC.c, soapH.h et les sources générés ...

    Et enfin j'ai un troisieme répertoire /home/gedeon/monprogramme/ qui fait appel à malibA dans un cas et malibB dans l'autre. Du coup je me retrouve avec des doublons de déclaration entre soapC.c de l'une et de l'autre.

    Je cherche donc à savoir comment je peux associer/merger mais deux lib (accès webservice) en une seule ...

    Je galère, mais c'est pas grave je vais finir par trouver. Je viendrai apporter ma solution ici.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Je ne sais pas si mon problème parlera à quelqu'un, mais j'ai trouvé la solution. Je la poste donc en espérant que cela pourra en aider quelques uns.

    Comment compiler ensemble deux webservices (ou plus) avec les outils Gsoap ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $(GSOAP)/wsdl2h -c -o combined.h webserv1.wsdl webserv2.wsdl webserv3.wsdl
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(GSOAP)/soapcpp2 -C combined.h
    C'était simple finalement mais il fallait y penser. Heureusement qu'un collègue bien intensionné qui passait par là m'a expliqué. Moi, je me battais avec mes deux compiles séparés + une compile globale ...

    Une fois cette opération réussie, j'ai pu intégrer le tout dans mon programme principal sans trop de difficulté.

    Je ne sais pas si c'est très clair, mais ca aura au moins le mérite d'exister

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Merci pour le retour d'info.
    À bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. GlassFish avec un webservice et le client dans un meme projet web
    Par anouss dans le forum Glassfish et Payara
    Réponses: 2
    Dernier message: 18/04/2009, 23h08
  2. Liens : Aide à la programmation avec DirectX
    Par djbed dans le forum DirectX
    Réponses: 11
    Dernier message: 22/03/2007, 23h30
  3. Appeler un programme sur le poste client avec <object>
    Par ouioui2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/08/2005, 14h40
  4. Commencer la programmation avec le langage Java ?
    Par von_magnus dans le forum Débuter
    Réponses: 14
    Dernier message: 09/03/2004, 22h19
  5. Réponses: 3
    Dernier message: 27/08/2003, 21h14

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