Вы можете использовать общедоступный URL-адрес wsdl, например, http://www.thomas -bayer.com / axis2 / services / BLZService? Wsdl или https://www.lb.lt/webservices/ExchangeRates/ExchangeRates.asmx?WSDL для тестирования.Решение заключается в следующем: 1) получить содержимое URL-адреса wsdl.2) Разбор wsdl xml для операций.Код выглядит следующим образом.
public string[] GetOperations(string wsdlURL)
{
//string httpResponseMessage;
List<string> sList = new List<string>();
string[] s = { };
string result = GetWSDLContent(wsdlURL);
XmlDocument doc = new XmlDocument();
doc.LoadXml(result);
var nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("wsdl", "http://schemas.xmlsoap.org/wsdl/");
var nl = doc.SelectNodes("//wsdl:portType/wsdl:operation", nsmgr);
for (var i=0; i<nl.Count; i++ )
{
sList.Add(nl[i].Attributes["name"].Value.ToString());
}
s = sList.ToArray();
return s;
}
public string GetWSDLContent(string wsdlURL)
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(wsdlURL);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();
return result;
}