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

Bibliothèques C++ Discussion :

[gSoap] Création d'un serveur standalone et le client correspondant


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut [gSoap] Création d'un serveur standalone et le client correspondant
    Bonsoir,

    Je n'ai plus fait de C++ depuis plus de 3 ans, et je dois créer un webservice en C++, j'ai choisi pour cela gSOAP. De plus il est très important que cela soit fait en standalone, je ne souhaite pas utiliser de serveur web externe(apache, IIS, ...) pour publier mes webservices. Dans l'exemple webserver de gSOAP je crois que c'est ce que je souhaite mais j'ai beaucoup de mal a comprendre comment il fonctionne.
    Pour être honnête je suis au point ou même créer un client ça me parait difficile mdr
    Si on pouvait m'aider un peu et me donner quelques pistes ça m'irait bien.
    En fait je développe sous linux et donc compile le tout avec g++


    Merci d'avance à tous,
    Donaldo

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 292
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    alors, je te propose quelques généralités pour commencer, puis nous irons dans les détails en fonction de tes besoins.

    Avant tout, quelques mots sur gSoap, histoire de savoir de quoi on parle.

    SOAP est un protocole de communication. Il détermine le format des trames qui vont être envoyées du client au serveur (et vice-versa) afin que chacun puisse reconstituer les données envoyées.

    gSoap est une bibliothèque c++ qui, en fait, est un compilateur: il prend un fichier (.h ou .wsdl) et créé les fichiers sources (.c et .h) qui implémentent un serveur et/ou un client.

    Il y a donc 2 façons d'utiliser gSoap:
    1/ à partir d'un en-tête c/c++ (fichier .h).
    2/ à partir d'un fichier wsdl (la norme wsdl est décrite ici)

    Les avantages du 1/ c'est que c'est plus simple:il n'est pas nécessaire de connaitre la norme wsdl, et pour un développeur c/c++ c'est plus "intuitif" d'écrire un en-tête c/c++ qu'un wsdl.

    Voici un exemple de batch qui génère un serveur à partir d'un fichier .h:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ./soapcpp2 "MonServeur.h"
    pause

    Les avantages du 2/ c'est qu'il existe des outils pour vérifier la validité du wsdl, créer un xsd correspondant, etc. le wsdl étant du xml, c'est également plus facile pour un développeur qui n'aime/connais pas le c/c++.

    Le "désavantage" (je met entre guillemets parce que c'est vraiment bénin), c'est que la génération du code se fait en 2 passes: d'abord il faut générer l'en-tête, puis le code entier.

    Voici un exemple de commande batch qui génère un serveur à partir d'un wsdl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ./wsdl2h "MonServeur.wsdl"
    pause
    ./soapcpp2 "MonServeur.h"
    pause
    Dans les deux cas, le résultat est le même: un ensemble de fichiers .h et .c qui, une fois compilés, donnent un serveur et/ou un client SOAP.

    La nature du client/serveur (stand alone ou "attaché" à un serveur existant, version, etc...) dépend des paramètres de compilation passés aux compilateurs wsdl2h et soapcpp2.

    ...
    Il est tard, je commence à voir trouble lol, je continuerai demain

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut
    Oki merci pour ce début de tuto que tu souhaitais écrire sur ta page developpez.com
    En fait je suis très intéressé par la création d'un service stand alone. Hier soir j'ai essayé de créé un client pour l'exemple webserver de gSOAP, avec la commande wsdl2h et soapcpp2 cependant quand j'essaye de compiler mon client (je ne sais pas si je l'ai bien fais) j'ai pleins d'erreur de compilation concernant soap_serve.
    Peut être que je fais des erreurs bêtes mais je m'en rends pas encore compte.

  4. #4
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 292
    Billets dans le blog
    2
    Par défaut
    Re.

    Alors, première chose, assures-toi d'utiliser la dernière version, celle qui est sur sourgeforge: http://sourceforge.net/project/showf...ease_id=630240

    Quelle méthode souhaites-tu utiliser? (à partir d'un .h ou à partir d'un .wsdl?)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut
    En fait j'ai lancé le webserver, et j'ai fais la commande wsdl pour convertir a partir de l'adresse du wsdl en code h puis en cpp. Il m'a généré les classes meme des classes proxy et ensuite je sais pas quoi faire, j'ai essayé de compilé et des erreurs.

  6. #6
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 292
    Billets dans le blog
    2
    Par défaut
    Là comme ça je ne peux pas te dire grand-chose de plus.
    Peux-tu me montrer le wsdl et les messages d'erreurs?

Discussions similaires

  1. Création d'un serveur en C
    Par coco21 dans le forum Réseau
    Réponses: 7
    Dernier message: 08/12/2006, 12h43
  2. Création d'un serveur Mail sous linux
    Par wassim_kh dans le forum Serveurs (Apache, IIS,...)
    Réponses: 14
    Dernier message: 03/07/2006, 18h55
  3. [Configuration] création de socket serveur
    Par sayuiki dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/03/2006, 15h29
  4. [D7][intraweb] accéder par le réseau au serveur standalone
    Par Magnus dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/10/2005, 12h34
  5. Création d'un Serveur Multi Client
    Par N*E*R*D dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/03/2004, 17h13

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