J'essaye d'écrire une fonction qui peut appeler un webmethod d'une webserive donné le nom de la méthode et l'URL du webservice. J'ai trouvé du code sur un blog qui fonctionne bien, sauf pour un détail. Il nécessite que la requête XML soit également fournie. L'objectif ici est d'obtenir le modèle XML de demande à partir du service Web lui-même. Je suis sûr que c'est possible d'une manière ou d'une autre parce que je peux voir les modèles XML de demande et de réponse si j'accède à l'URL d'un webservice dans mon navigateur.Appelez par programme webmethods en C#
C'est le code qui appelle la webmethod programme:
XmlDocument doc = new XmlDocument();
//this is the problem. I need to get this automatically
doc.Load("../../request.xml");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost/dummyws/dummyws.asmx?op=HelloWorld");
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
Stream stm = req.GetRequestStream();
doc.Save(stm);
stm.Close();
WebResponse resp = req.GetResponse();
stm = resp.GetResponseStream();
StreamReader r = new StreamReader(stm);
Console.WriteLine(r.ReadToEnd());
Comment pouvez-vous appeler une méthode (service web ou autre) si vous ne savez pas à l'avance quels sont les paramètres nécessaires? –
Supposons pour l'instant que ces méthodes web n'exigent aucun paramètre. – hancock
Le service Web expose-t-il une description WSDL? – dariom