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 :

[WebService] Passer de SOAP à XML (et inversement), est-ce possible ?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 103
    Par défaut [WebService] Passer de SOAP à XML (et inversement), est-ce possible ?
    Bonjour,

    Il y a quelques temps de celà, j'ai developpé un Webservices SOAP à partir d'un wsdl fourni. J'ai utilisé pour cela GSoap 2.7.6e que je recommande vivemement pour les accros de C++.

    J'ai maintenant une demande d'une appli cliente pour interroger les services mis à disposition par le Webservice précédent mais avec du XML sur HTTP (format ressemblant à celui du webservice mais sans les entêtes SOAP).

    J'ai commencé à tourner le problème dans tout les sens et je penseais construire une passerelle XML <=> SOAP et utilisé un outil de type XML-RPC java pour communiquer avec le nouveau client.

    Après discussion avec des amis, on m'a informé que les outils tel que GSoap savait parsé directement le XML sans les entêtes SOAP... j'ai beau cherché, je ne trouve pas d'info la dessus...

    J'ai pas trop d'expérience dans les developpement XML/SOAP et si quelqu'un à une idées intéressante ou connais un outil, je suis mille fois preneur preneur

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Juste pour info comme ça : SOAP n'est jamais qu'un langage XML, autrement dit, un document SOAP est avant tout un document XML...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Swoög
    Juste pour info comme ça : SOAP n'est jamais qu'un langage XML, autrement dit, un document SOAP est avant tout un document XML...

    +1, si tu veux passer facilement d'un format à l'autre, regardes les transformations XSL
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #4
    Membre éprouvé Avatar de VinceFromBcn
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Par défaut
    Hello,
    Tu n'a rien trouvé dans le package : javax.xml.soap du SDK? Sinon dans Axis tu dois pouvoir trouver une solution aussi.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 103
    Par défaut
    Bonjour,

    D'abord merci pour ces quelques réponses.

    Juste pour info comme ça : SOAP n'est jamais qu'un langage XML, autrement dit, un document SOAP est avant tout un document XML...
    +1 aussi, là dessus je suis tout à fait d'accord.

    Mon problème n'est pas vraiment là mais plus au niveau de la communication client-serveur. Je m'explique : avec les outils comme GSoap ou Axis (que je connais moins), nous développeurs, n'avons qu'à developper la couche "métier" en s'abstrayant de la couche "technique" ( tcp/ip, html, voir SOAP dans le cas où les paramètres d'appel sont deserializer automatiquement ).

    J'ai mis en place une interface SOAP sur ce principe où je n'ai eu qu'à écrire le wsdl puis joué avec les outils fourni pas GSoap pour génerer stub et skeleton. J'ai ensuite simplement écrit la couche métier de l'application.

    Aujourd'hui je dois recommencer la même chose mais à la place d'échanger des messages SOAP avec le client, nous devons échanger des simples messages XML circulant sur http. Quand je parle de simple message XML, cela signifie que j'ai en gros le même contenue que dans ma requête SOAP mais sans la partie en-tête SOAP.

    Comme c'est le cas avec SOAP, j'aimerais m'affranchir de la gestion de la couche tcp/ip et html (si dois parser le XML, c'est pas un soucis). J'aurais donc aimé trouver un outil capable de faire la même chose que Axis ou GSoap mais où les messages transporter sont en XML sans en-tête SOAP. (Une personne m'a dit que GSoap savais le faire mais personnelement je ne suis pas convaincu et je n'ai pas rien trouvé la-dessus)

    S'il faut refaire un développement from "scratch" avec la gestion des couches tcp/ip et html, je m'y collerais mais si des outils existent, autant les utiliser (surtout s'ils peuvent être compatible SOAP - XML mais je n'y crois pas trop SOAP étant plus ou moins un sous ensemble de XML ) et c'est à ce niveau là que je me posais des quesions.

    J'ai vu qu'il y avait des choses basait sur du XML du genre XMLRAD ou XML-RPC. Je vais essayer de creuser de ce coté là.

  6. #6
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    Citation Envoyé par cheprod
    J'ai vu qu'il y avait des choses basait sur du XML du genre XMLRAD ou XML-RPC. Je vais essayer de creuser de ce coté là.
    Si tu n'as pas besoin de toute la sophistication apportée par les Web services, XML-RPC est effectivement idéal et t'épargne toute gestion bas niveau du protocole réseau.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    bonjour

    gsoap sait serializer et deserializer des documents xml. Regarde dans la doc le chapitre How to Use the SOAP Serializers and Deserializers to Save and Load Application Data

    Si tu ne veux pas gérer les couches tcp utilise le mode cgi.

    D'un point de vu perso, j'ai mis en oeuvre une solution en remplaçant les differents pointeurs de fonction.

    Cordialement
    Willy

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    J'ajoute que tu peux regarder du cote de Axis2 C qui supporte soap et rest:
    http://ws.apache.org/axis2/c/

  9. #9
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    Je ne sais pas si ma réponse pourra t'aider, mais une fonction existe, en javascript qui permet d'envoyer et de recevoir du flux xml via http : c'est XMLHttprequest...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 103
    Par défaut
    Je relance le débat car le temps passe et je recommence à travailler sur cet item

    Déjà merci pour vos réponse, cela m'a fait des pistes à creuser...

    Citation Envoyé par GrandFather
    Si tu n'as pas besoin de toute la sophistication apportée par les Web services, XML-RPC est effectivement idéal et t'épargne toute gestion bas niveau du protocole réseau.
    Malheureusement le format XML a été fixé par le client et ne respecte pas les spécifications du format XML-RPC

    Citation Envoyé par willy78
    gsoap sait serializer et deserializer des documents xml. Regarde dans la doc le chapitre How to Use the SOAP Serializers and Deserializers to Save and Load Application Data

    Si tu ne veux pas gérer les couches tcp utilise le mode cgi.

    D'un point de vu perso, j'ai mis en oeuvre une solution en remplaçant les differents pointeurs de fonction.
    OK pour gSoap, j'ai déjà vu cette possibilité dans la doc, mais cela me fait un peu peur d'aller bidouiller dans les fichiers de gSoap... et pour ce qui est des cgi, j'y ai bien pensé mais je ne veux pas embarquer un serveur apache pour traiter un flux xml/http temps réel...

    Je ne sais pas si ma réponse pourra t'aider, mais une fonction existe, en javascript qui permet d'envoyer et de recevoir du flux xml via http : c'est XMLHttprequest...
    Malheureusement je cherche à implémenter la partie serveur et non la partie client...

    Je suis donc entrain de m'orienter vers un développement spécifique c'est dommage compte tenu du nombre d'API existantes aujourd'hui...

Discussions similaires

  1. [WD16] webservice requete soap XML
    Par GEOFDEN dans le forum WinDev
    Réponses: 0
    Dernier message: 11/05/2011, 22h00
  2. SOAP XML WEBSERVICE
    Par MartinéOL dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 29/09/2010, 12h16
  3. [XML] [SOAP] [PHP5] Développement d'un webservice : comment renvoyer du XML ?
    Par ovh dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/04/2008, 13h17
  4. [SOAP] Comment faire passer un schéma XML ?
    Par Guybrush113 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 11/10/2007, 18h46
  5. [XML & WebService] Faire "passer" un fic xml
    Par P4dre dans le forum Services Web
    Réponses: 7
    Dernier message: 03/08/2005, 14h47

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