Service web avec retour xml (débutant)
Bonjour,
J'écris mon premier web service mais je ne comprends pas bien comment écrire correctement une méthode web qui retourne un document xml (à des fins d'appel Ajax de la part du client pour ensuite binder les données dans un Repeater, ça m'a l'air bien comme conception, non ?).
Le thread suivant du forum est incomplet pour m'aider, et sur google je n'arrive pas à trouver.
http://www.developpez.net/forums/d62...t-web-service/
Voici l'erreur de compilation que j'ai au lancement du test du web service (web service ok si je renvoie une String et pas un XDocument).
Code:
1 2 3 4 5 6
|
[WebMethod]
public XDocument GetChildElementsFolderBrowsing() {
return new XDocument();
// en fait j'en retourne un non vide comme défini plus bas, mais ça ne veut pas non plus
} |
Code:
1 2 3
|
[InvalidOperationException: La méthode WebService.GetChildElementsFolderBrowsing ne peut pas être réfléchie.]
System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +6904 |
Au départ j'avais testé ceci pour construire le XDocument, je ne sais pas si c'est correct... mais pas moyen de faire un test unitaire avec une bête classe avec un Main qui appelle ma classe qui génère le XDocument (classe différente de celle du service web) dans un projet web ? (VS Express 2008) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
XDocument xDoc = new XDocument();
xDoc.Add(new XDeclaration("1.0", "utf-8", "yes"));
XElement e = new XElement("data");
e.Add(new XElement("id", "elt1"));
e.Add(new XElement("label", "element 1"));
e.Add(new XElement("id", "elt2"));
e.Add(new XElement("label", "element 2"));
xDoc.Add(e);
return xDoc; |
Merci pour vos conseils,
Barbara