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 :

Renvoyer du xml après appel à une méthode WCF


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut Renvoyer du xml après appel à une méthode WCF
    Bonjour!

    Je bute sur un problème : je suis en train de remplacer des webservices par l'equivalent en WCF et je n'arrive pas a renvoyer mon xml correctement.

    Je m'explique :

    ma méthode dans le fichier SVC.cs a cette signature :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public XmlDocument Recherche(string CleClient,string chaineRecherche,string TypeRecherche)
    dans le client ASPX qui va utiliser le WCF j'appele la méthode comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var srv = new ServiceReference1.ServiceRechercheClient("WSHttpBinding_IServiceRecherche1" );
     
     XmlElement xml= srv.Recherche("lacle", "MaRecherche", "LeType" );
    mon souci est d'afficher le xml renvoyé (qui est apparement un xmlelement et non un xmldocument (???) ) je voudrai, comme on le faisait pour le web service simple non wcf, renvoyer tout simplement le xml en tant que page résultat (en lieu et place du aspx)

    Merci pour toute aide

  2. #2
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Et si tu mettait le XML dans une balise litteral ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut
    non j'ai essayé ca ne marche pas...

    j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var srv = new ServiceReference1.ServiceRechercheClient("WSHttpBinding_IServiceRecherche1" );
     
     XmlElement xml= srv.Recherche("lacle", "MaRecherche", "LeType" );
     
     
    LitXml.Text = xml.ToString();
    mais ca renvoie sur la page "System.Xml.XmlElement" et non le xml...

    En fait avant dans les webservices il suffisait de faire un "return" du xmldocument et la page renvoyait automatiquement le xml....c'est ce que je voudrai faire dans ma page aspx cliente du service WCF

    Merci!

  4. #4
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Il est normal que la méthode ToString() te renvoie la type de l'objet car c'est ce qu'elle est censée faire.


    Utilise plutôt la propriété OuterXml de ton XmlElement.


    Si je comprends bien, avant dans ta méthode du web service, tu retournais ton XmlDocument, ce que tu fait toujours, mais comment faisais tu l'affichage ?
    Il te suffisait d'appeler ta méthode depuis ta page ASPX ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut
    Oui c'est bien ce que je me disais avec la méthode toString()...

    En revanche cela ne fonctionne pas non plus avec le outerXml : cela me renvoi les textes bruts, non entouré de leur balises XML

    En fait précedement j'avais un web service ayant en signature le xmldocument,
    a la fin de mon traitement je faisait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dataset Ds = une requete....
     
    Ds.WriteXml(sw);
    RetourXML += sw.ToString();//Pour aller à la ligne
    XmlDoc.LoadXml(RetourXML);
     
    return XmlDoc;
    et il suffisait d'appeler le web service pour que la page renvoie automatiquement le document XML ! (il semble que c'est une fonctionnalité prise en charge par les web services dot net)

    Maintenant je suis bien embété avec mon WCF.... je veux tout simplement renvoyer mon xml au client ni plus ni moins mais cela ne fonctionne plus comme avec les web services

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut
    D'ailleurs voici l'article qui parle de la fonctionalité sus citée :

    http://support.microsoft.com/kb/330600

Discussions similaires

  1. Comment appeler une méthode python dans un xml?
    Par AmFaye2 dans le forum Odoo (ex-OpenERP)
    Réponses: 3
    Dernier message: 23/09/2013, 13h59
  2. Réponses: 3
    Dernier message: 25/02/2010, 13h47
  3. Réponses: 2
    Dernier message: 31/08/2005, 16h12
  4. Appeler une méthode dynamiquement
    Par doof dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/01/2005, 23h15
  5. Comment l'appel à une méthode virtuelle....
    Par Blobette dans le forum C++
    Réponses: 7
    Dernier message: 07/12/2004, 13h55

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