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 :

HyperPlanning - Comment utiliser le Web Service ?


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 30
    Points
    30
    Par défaut HyperPlanning - Comment utiliser le Web Service ?
    Bonjour,
    faisant les emplois du temps avec ce logiciel j'aurais besoin de pouvoir extraire (voire placer) des données facilement dessus. Je suis plutôt programmeur C++ et après quelques essais sans succès pour se connecter sur le web-service via le protocole SOAP je me dit que si quelqu'un a réussi à faire cela, je serais preneur pour avoir de l'aide.
    Autre question : dès que l'on a le service .NET et que la page wsdl est visible je suppose que le service est activé, non ?
    Merci
    Olivier

    PS j'ai deja regarde cette discussion mais sans success : https://www.developpez.net/forums/d1...ent-anonymous/

  2. #2
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Salut,

    Oui si tu peux accéder au WSDL, c'est que le service est accessible.

    Ensuite, ajoute une référence au service dans ton projet .Net. Tu pourras par la suite instancier un client et l'utiliser.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 30
    Points
    30
    Par défaut Je suis en C++
    Citation Envoyé par Momoth Voir le message
    Salut,

    Oui si tu peux accéder au WSDL, c'est que le service est accessible.

    Ensuite, ajoute une référence au service dans ton projet .Net. Tu pourras par la suite instancier un client et l'utiliser.
    Je n'utilise pas C#, je suis en C++ principalement sous linux (voire python sous linux aussi).
    Merci de la réponse déjà je sais que le service existe donc le soucis est ailleurs.

  4. #4
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Citation Envoyé par olivierBrest Voir le message
    Je n'utilise pas C#, je suis en C++ principalement sous linux (voire python sous linux aussi).
    Ah bah du coup, je vais pas pouvoir beaucoup t'aider. Si ce n'est pas déjà fait, je te conseil de poster ton problème dans le forum C++. Ils sauront surement plus t'aider.

    Sinon la logique reste la même. Il faut référencer le WSDL et ensuite instancier un client. Juste la façon de le faire qui sera un peu différente
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Momoth Voir le message
    Ah bah du coup, je vais pas pouvoir beaucoup t'aider. Si ce n'est pas déjà fait, je te conseil de poster ton problème dans le forum C++. Ils sauront surement plus t'aider.

    Sinon la logique reste la même. Il faut référencer le WSDL et ensuite instancier un client. Juste la façon de le faire qui sera un peu différente
    Oui j'ai essayé sur 2 demi-journées mais j'avais systématiquement des erreurs, comme dans ce forum à priori quelqu'un avait réussi à le faire je me disais que...déjà je sais maintenant que le service doit fonctionner donc que cela viendra ensuite de la bibliothèque pour le protocole SOAP (ils ne pouvaient pas faire du REST plutôt).
    Dès que j'ai un peu de temps je ré-essaye tout ça.
    Merci beaucoup

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Pour autant que je sache, un WSDL n'est en réalité qu'une page XML "classique" (même si elle respecte des spécifications qui lui sont propres )

    A priori, je dirais donc qu'il te "suffit" de choisir la bibliothèque de gestion XML qui te semble la meilleure, puis:
    • de créer tes "donnée métier" de manière classique
    • de mettre en place le moyen de récupérer le XML
    • de mettre en place le moyen qui permettra à la bibliothèque choisie d'extraire les données métier du XML obtenu
    • de mettre en place le moyen qui permettra de renvoyer tes données métiers sous la forme d'un XML correctement formé.
    • (accessoirement) de mettre en place une IHM qui permette de représenter tes données métiers sous une forme acceptable

    L'un dans l'autre, je me dis que tu pourrais tout faire à l'aide de Qt, car il fournit "tout ce qu'il faut" pour remplire toutes les étapes, et que tu pourrais même en arriver à avoir une application portable (AKA susceptible d'être compilée et utilisée sur d'autres systèmes que le tien)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 20
    Points : 30
    Points
    30
    Par défaut
    Non un fichier WSDL fournit les noms des fonctions ainsi que des paramètres et des types renvoyées par celles-ci une fois le protocole SOAP appliquée. Il y a gsoap et Ksoap comme bicliothèque MAIS j'ai eu des erreurs lorsque je les ai utilisées. Dans tous les cas à l'aide du fichier WSDL on obtient les services proposées et ensuite il faut implémenter SOAP.
    Les bibliothèques proposées fournissent un utilitaire qui prend le fichier WSDL, et fabriquent les fichiers .h et .cpp permettant d'interroger ensuite les services sauf que j'ai eu à chaque fois des soucis de compilation de ces fichiers. Mais il peut y avoir des manques dans le fichier WSDL fournit sur HyperPlanning.
    Ils ne donnent que des exemples dans des langages autre que C++. Je vais essayer de tester dans ces langages pour voir si cela fonctionne et ensuite je verrais si nécessaire en C++ (ou Python m'irait très bien aussi).
    Merci d'avoir répondu

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Toutes les informations que je trouve parlent de requêtes HTTP GET/POST. Du coup je suppose qu'il te faut un client HTTP. Python en possède un de base, ça sera sûrement plus simple.
    En fait il a carrément un client SOAP https://wiki.python.org/moin/WebServices#SOAP
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Ça fait largement plus de 15ans que je n'ai plus utilisé "sérieusement" gsoap, mais voilà mes remarques 2 balles.

    Autre question : dès que l'on a le service .NET et que la page wsdl est visible
    Il n'y aucun rapport direct entre .NET et WSDL.
    Un WSDL n'est qu'un simple document XML définissant les services fournis par un Service Web SOAP (pas REST) ainsi que la manière de communiquer avec lui (format des messages, format possibles des documents à passer en paramètre, etc..) et les moyens de retrouver les canaux de communications que le Service Web support.

    Un WSDL, c'est un truc assez complexe mais qui permet de générer automatiquement du code d'interfaçage avec le Service Web. Mais il peut très bien être dans un simple fichier et le Service Web mort depuis des années.
    Pour avoir des certitudes, utilisez un sniffer réseaux pour voir le trafic, ou un reverse-proxy Web comme Fiddler2 si le Service Web a une interface en HTTP.

    Oui si tu peux accéder au WSDL, c'est que le service est accessible.
    NON.

    Sinon la logique reste la même. Il faut référencer le WSDL et ensuite instancier un client.
    Oui, sauf qu'il y a 15ans, les outils gsoap était tellement pourris qu'il fallait reprendre énormément de code auto-généré digne du C des années 1970.
    Ils se sont peut-être pas améliorés, ou il faut faire les bon réglage pour que le code généré passe dans un compilateur du XXI siècles.

    Oui j'ai essayé sur 2 demi-journées mais j'avais systématiquement des erreurs,
    sauf que j'ai eu à chaque fois des soucis de compilation de ces fichiers
    Montrez le code et les erreurs (et le passage du WSDL correspondant, pour la signature).

    ensuite il faut implémenter SOAP.
    Non, c'est gsoap qui implémente le protocole SOAP.

    Mais il peut y avoir des manques dans le fichier WSDL fournit sur HyperPlanning.
    Moi, je penche plus pour des manques dans gsoap.

    Ils ne donnent que des exemples dans des langages autre que C++.
    Le code C++ sera très très proche.

Discussions similaires

  1. Comment utiliser un Web service avec SSL ?
    Par Gaspard22 dans le forum Services Web
    Réponses: 4
    Dernier message: 15/06/2015, 10h18
  2. comment developper un web service avec java et oracle
    Par kheira dans le forum Services Web
    Réponses: 4
    Dernier message: 26/04/2011, 16h29
  3. Réponses: 1
    Dernier message: 22/04/2009, 23h43
  4. Réponses: 0
    Dernier message: 11/12/2007, 11h42
  5. Comment consommer un web service en java
    Par Vins83 dans le forum Services Web
    Réponses: 1
    Dernier message: 16/01/2006, 23h33

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