Ich versuche eine Funktion zu schreiben, die eine Webmethode von einem Webseriv mit dem Namen und der URL des Webservice aufrufen kann. Ich habe Code in einem Blog gefunden, der das bis auf ein Detail gut macht. Es erfordert, dass das Anforderungs-XML ebenfalls bereitgestellt wird. Das Ziel besteht darin, die XML-Anforderungsvorlage vom Webdienst selbst abzurufen. Ich bin mir sicher, dass dies irgendwie möglich ist, da ich sowohl die Anfrage- als auch die Antwort-XML-Vorlage sehen kann, wenn ich in meinem Browser auf die URL eines Webservice zugreife.Programmgesteuertes aufrufen von Webmethoden in C#
Dies ist der Code, der programmatisch die Webmethod ruft:
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());
Wie können Sie eine Methode aufrufen (Web-Service oder anders), wenn Sie nicht im Voraus wissen, welche Parameter es erfordert? –
Nehmen wir an, dass diese Webmethoden keine Parameter benötigen. – hancock
Zeigt der Webdienst eine WSDL-Beschreibung an? – dariom