Bonjour,

j'essaie dans mon code C# de faire appel à un webservice dont l'url et le nom de la méthode me sont passés en paramètres.
Je pensais procéder comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
SWTEST.ServiceTest MySW = new SWTEST.ServiceTest();
MySW.Url = strAdresse;
Type oType = MySW.GetType();
 
// On va récupérer la liste des méthodes qui existent dans le service web
System.Reflection.MethodInfo[] ListMethods = oType.GetMethods();
object objVal = null;
// Pour chaque méthode :
foreach (System.Reflection.MethodInfo mi in ListMethods)
{
       // Si le nom de la méthode est égale à strFonctionSW
       if (mi.Name.ToUpper().Equals(strFonctionSW.ToUpper()))
       {
              objVal = mi.Invoke(MySW, new object[] { "monparam"});
              // On sort de la boucle foreach
              break;
       }
}
SWTEST.ServiceTest est le webService "par défaut" que j'ai ajouté comme référence à mon projet.

Le problème c'est que après avoir changé l'URl, la liste des méthodes reste celle de mon servicetest donc je ne fais jamais le invoke...