Invoquer une methode d'un web service [Résolu]

Messages postés
16
Date d'inscription
mercredi 24 mai 2006
Dernière intervention
21 février 2009
- - Dernière réponse : nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
- 18 janv. 2009 à 13:15
Bonjour,

J'ai peu d'expérience dans les webservice.
Cependant, j'aimerais savoir la différence entre les méthodes "Invoke" et "InvokeMember".

Le code ci-dessous a pour but d'invoquer une méthode d'un web service distant.

System.Reflection.Assembly assembly = results.CompiledAssembly;
object proxy = assembly.CreateInstance(type.FullName);
MethodInfo my_methode = proxy.GetType().GetMethod("FindCountryAsString");

//resultat au format XML
string resultat = (string)(my_methode.Invoke(proxy, BindingFlags.Default, null, new object[] { "45.78.45.78" }, System.Globalization.CultureInfo.CurrentCulture));

//erreur : MissingMethodException
resultat = (int)proxy.GetType().InvokeMember(my_methode.Name,
BindingFlags.InvokeMethod | BindingFlags.Public, null, proxy, new object[] { "45.78.45.78" });

quand j'utilise InvokeMember j'ai une erreur, pourquoi ?

merci.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
3
Merci
Salut

C'est possible de serialiser dans un autre format
Il existe par exemple JSON

http://blogs.developpeur.org/cyril/archive/2008/04/17/communication-grille-extjs-vers-wcf-ou-webservice-asmx-ajax-via-json.aspx

http://www.codeproject.com/KB/WCF/Serialization_in_WCF.aspx

Pour le invoke
http://www.csharpfr.com/code.aspx?ID=29068

Je te donnes des pistes (a toi de faire le menage en focntion de tes besoins et contraintes)
Et n'hesite pas a mettre la solution adoptée dans la suite du post pour m'éclairer sur ce vaste sujet et en faire profiter la communauté.
Voir faire un source ou un tutoriel qui sera liés a ce post.

Merci nhervagault 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
Salut

Invoke est a ma connaissance pour les methodes
InvokeMember est pour les propriétés des classes.
Commenter la réponse de nhervagault
Messages postés
16
Date d'inscription
mercredi 24 mai 2006
Dernière intervention
21 février 2009
0
Merci
bonjour,

merci de ta réponse.

Cependant cela reste un peu flou pour moi, j'ai l'exception "MissingMethodException" donc il doit normalement rechercher une méthode et non un attribut ...

est-ce quelqu'un aurait un exemple d'utilisation concret de "Invoke" et "Invokemember" ?

une autre question :

y a t-il une façon d'obtenir le résultat que retourne une méthode d'un Webservice autre que sous le format XML ?

par exemple au lieu d'obtenir ceci avec la méthode "Invoke" :
 <?XML version="1.0"?><valeur_vitesse>15</valeur_vitesse>

je voudrai avoir directement lorsque j'utilise "Invoke" la valeur "15"

merci.
Commenter la réponse de cs_zwei

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.