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

Services Web Discussion :

Précisions concernant les webservices


Sujet :

Services Web

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Précisions concernant les webservices
    Bonjour à tous,

    Je suis ultra débutant en C# et aurais besoin de quelques informations concernant les web services. J'ai lu beaucoup de docs, mais certaines choses ne me semblent pas très claires. Je parle du fonctionnement général.

    Concernant le format des données que renvoi un webservice. Apparemment c'est du XML. Est-ce-que ce XML est directement exploitable par une gridview par exemple (par ajout de référence). Je confonds, je crois, avec les datasets en fait. Est-ce-que ce que renvoi le webservice est un dataset ? C'est encore autre chose ?

    Merci à vous

  2. #2
    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
    Un WebService peu renvoyer n'importe quel type d'objet, du moment qu'il est serialisable en XML.
    Serialisable en XML, c'est qu'il peut être converti sous la forme d'un document XML. Donc pas de pointeur, de pointeur de méthode ou autre handle de fenêtre etc. .
    Un DataSet est serialisable en XML, donc le WebService peut renvoyer un DataSet. Mais, selon mes souvenirs lointains, cette sérialisation utilisait un hack qui empêchais les autres plateformes que .NET de pouvoir déserialiser les DataSet. C'est assez moyen quand on sait que les WebService sont mis en avant pour l'interopérabilité. Ce hack à peut-être disparu, c'est à vérifier.

    Il est donc possible, moyennant un problème d'interopérabilité avec d'autre plateforme cliente, de mettre comme DataSource d'une DataGridView un DataSet retourné par un WebService.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Un DataSet est serialisable en XML, donc le WebService peut renvoyer un DataSet. Mais, selon mes souvenirs lointains, cette sérialisation utilisait un hack qui empêchais les autres plateformes que .NET de pouvoir déserialiser les DataSet. C'est assez moyen quand on sait que les WebService sont mis en avant pour l'interopérabilité. Ce hack à peut-être disparu, c'est à vérifier
    Je vois pas trop de quel hack tu parles... ça génère un doc XML parfaitement valide, avec le schéma XSD qui va avec, donc n'importe quel plateforme peut l'interpréter...

    Sinon, un WebService peut aussi renvoyer une liste d'objets, qui sera utilisable dans un DataGridView. En général le fait que les données soient transmises en XML n'a pas d'importance, les classes proxy générées automatiquement pour le service permettent d'en faire abstraction.

  4. #4
    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
    Il y a ou avait dans le wsdl associé un marqueur non standard pour ne pas avoir à mettre toute la définition d'un dataset et aussi permettre au générateur de proxy de "deviner" qu'il doit généré un classe dérivant de DataSet.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Merci pour vos réponses !

    Juste une précision. À mon sens, les services web sont surtout avantageux concernant leur interopérabilité, étant donné que les données sont formatées en XML. Cependant, lors d'un renvoi d'objets, que se passe-t'il au point de vue de l'interopérabilité ? Comment sont formatés les objets ? Ça reste du XML ? Est-il alors possible de consommer des services web C# renvoyant des objets avec PHP ou Java ?

    Merci beaucoup

  6. #6
    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
    Oui, Oui, Oui c'est tout l'intérêt des WebServices.
    Attention, les instances d'objets C# ne seront pas transférées. Elles seront sérialisées en XML et l'infrastructure PHP ou Java devra créer une classe PHP ou JAVA qui permettra de désérialiser l'XML dans une instance de cette classe.

Discussions similaires

  1. [MySQL] Précision concernant les sélections avec les dates
    Par beninsky dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/03/2010, 12h03
  2. Précisions sur les recordset DAO
    Par Igricheff dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/01/2005, 17h16
  3. Réponses: 7
    Dernier message: 10/09/2004, 14h28
  4. Précision sur les sauvegarde à chaud
    Par alxkid dans le forum Administration
    Réponses: 2
    Dernier message: 09/08/2004, 18h55
  5. Concerne les graphes
    Par mcr dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/11/2002, 11h02

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