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

XML/XSL et SOAP Discussion :

[SOAP] Comment faire communiquer deux applis?


Sujet :

XML/XSL et SOAP

  1. #1
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut [SOAP] Comment faire communiquer deux applis?
    Bonjour à tous,

    Voilà, je me retrouve avec 2 applis, une en java (IHM+acces bdd) et une en c++ (gestion de périphériques). Je dois me débrouiller pour que les deux puissent communiquer. En gros, l'appli java doit pouvoir exécuter des fonction de l'appli c++, en lui passant des paramètres, et en récupérant des données.

    Les deux applis tournent sur le même pc, qui est sous Windows XP.

    Il me semble que le plus simple pour faire ça est de passer par un client/serveur SOAP. Et c'est pourquoi je pose ma question ici.

    D'après ce que j'ai compris, le serveur sera du côté de l'appli c++. J'ai donc implémenté un serveur SOAP en c++ en utilisant gSoap. Pour le tester, j'utilise xlmSpy (pas le choix), mais ça ne fonctionne pas (pourtant mon serveur fonctionne quand je l'utilise avec le client c++ généré par gSoap).

    Le problème c'est que je n'y comprend pas grand chose à ces histoires de client/serveur, et que je suis un peu perdu dans les sigles qui foisonnent dans les messages d'erreurs que j'obtiens (dtd, xsi, xsd, wsdl...)

    Voilà pour l'état des lieux. Ce que je voudrais savoir, c'est:
    1/ Est-ce que la solution du client/serveur SOAP est la meilleure solution? N'y a-t-il pas plus simple?
    2/ Mon serveur gSoap est de type "stand alone". Qu'est-ce que ça veux dire?
    3/ Avez-vous des liens qui parlent de ce type de problématique pour que je puisse me documenter de façon efficace? (je ne parviens pas à trouver de la doc vraiment utile).

    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    L'utilisation de SOAP (c.a.d. de services web) doit permettre de simplifier le code de chaque côté puisque le client n'a qu'à appeler une fonction proposée par le serveur.

    C'est un peu luxueux et gourmand pour ne tourner que sur un seul PC mais sait-on jamais si, plus tard, il n'y aura pas deux machines distantes de plusieurs centaines de kilomètres !

    L'intégration de tout ça n'est jamais gagnée d'avance car les standards sont toujours sujets à interprétation dans les implémentations : il faut d'abord valider que chaque côté fonctionne bien en y mettant en face un simulateur dans le même langage. On essaie toujours de se ramener à quelque chose qui marche pour, ensuite, pouvoir progresser...

    Pour autant, travailler directement par sockets n'est pas si évident non plus.

    Stand-alone pour gSOAP doit vouloir dire sans nécessité d'un serveur HTTP tiers (Apache, IIS,...)
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Merci

    Citation Envoyé par alain.couthures Voir le message
    Stand-alone pour gSOAP doit vouloir dire sans nécessité d'un serveur HTTP tiers (Apache, IIS,...)
    D'accord. Mais ce que je ne comprend pas, c'est pourquoi xmlSpy n'arrive pas à "dialoguer" avec mon serveur alors que le client gSoap y arrive. Voici l'erreur qu'il me returne:
    ---------------------------
    XML Spy
    ---------------------------
    HTTP error: could not POST file '/MonServeur.cgi' on server '127.0.0.1' (0).
    ---------------------------
    MonServeur est le nom de l'executable de mon serveur gSoap stand-alone. La requête que j'envoie au serveur à l'aide de xmlSpy est générée à partir du wsdl généré par gSoap à partir du code c++ de ce serveur.

    Alors ce que je ne comprend pas, c'est le ".cgi". Ca veut dire qu'il cherche un serveur type Apache, IIS, ... ?
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  4. #4
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Effectivement le rajout de .cgi par XmlSpy est plus que suspect...

    J'ai déjà eu, par le passé, beaucoup de soucis avec XmlSpy qui m'est toujours apparu être un produit de piètre qualité mais c'est un avis personnel...
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Hum... je viens de tester avec soapUI, et j'ai exactement le même problème.

    J'ai essayé de modifier le 'end point' (l'adresse du serveur), mais toujours pareil: il n'arrive pas à se connecter au serveur.
    J'ai essayé:
    127.0.0.1:8080 (tout court)
    127.0.0.1:8080/MonServeur
    127.0.0.1:8080/C:/le/chemin/MonServeur
    127.0.0.1:8080/C:/le/chemin/MonServeur.exe

    Rien n'y fait...
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Pourquoi ne pas tester directement avec un client JAVA au lieu de XmlSpy ?
    Tu pourrais déjà voir si d'autres messages d'erreurs, ça pourrait aider.

    Un lien, je ne sais pas si ca va t'aider :
    http://www2.sys-con.com/ITSG/virtual...ely/index.html
    Allez un autre... un gros pavé mais ya des trucs pas mal ^^
    http://java.sun.com/developer/techni...rvices/fastWS/

  7. #7
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Parce que c'est dans le cahier des charges: on doit pouvoir tester le serveur avec xmlSpy et soapUI

    Et puis je suis tellement nul en java que je risque de mettre longtemps avant de réussir à implémenter un client soap
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Ok ok...
    J'ai jamais développé de WebService en Java ni C++, mais en PHP et en .NET, le point d'entrée d'un serveur SOAP est le fichier WSDL, et c'est dans le WSDL (ou à l'appel du WSDL) que tu définis le chemin pour attaquer le serveur SOAP.

    Je peux pas t'aider d'avantage désolé...

Discussions similaires

  1. comment faire communiquer deux PC
    Par a.fardon dans le forum Réseau
    Réponses: 5
    Dernier message: 13/01/2009, 19h02
  2. Comment faire communiquer deux threads
    Par mayu5 dans le forum POSIX
    Réponses: 3
    Dernier message: 14/05/2008, 13h45
  3. Réponses: 14
    Dernier message: 13/11/2007, 19h46
  4. comment faire communiquer deux form MDI?
    Par eponette dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2005, 12h20
  5. [Technologie][Stratégie] Faire communiquer deux applis
    Par KitsuneSama dans le forum Général Java
    Réponses: 13
    Dernier message: 21/06/2004, 17h25

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