Appeler par programmation webmethods en C#

Je suis en train d'écrire une fonction qui peut s'appeler un webmethod à partir d'une webserive compte tenu de la méthode nom et l'URL du webservice. J'ai trouvé un code sur un blog, qu'est-ce que cela bien sauf pour un détail. Il exige que la requête XML. Le but ici est d'obtenir la demande de modèle XML à partir du site web lui-même. Je suis sûr que c'est possible en quelque sorte parce que je peux voir à la fois la demande et la réponse des modèles XML si j'ai accès à un service web de l'URL dans mon navigateur.

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 connaissez pas l'avant jusqu'à ce que paramètres dont il a besoin?
Supposons maintenant que ces webmethods ne nécessite pas de paramètres.
Le service web exposer une description WSDL?
Oui, le webservice expose une description WSDL.
Donc, vous pouvez pas utiliser le fichier WSDL comme la définition de votre demande de XML? Ou, plus facile, de générer un proxy du service web à partir du WSDL?

OriginalL'auteur hancock | 2010-06-04