Alex2 101 Ответов: 0

Как получить входные параметры и тип данных из веб-сервиса/wsdl в ASP.NET с C#?


Я хочу получить входные параметры и тип данных из веб-сервиса/wsdl в Asp.net с помощью c#. Я могу получить выходные значения запрошенного Url-адреса Webservice/Wsdl. Мне нужно получить параметры и их тип данных запрошенного Url-адреса.

Что я уже пробовал:

private XmlDocument CallWebService(string method, string operation, string xmlPayload)
{
    string result = "";
    string CREDENTIALS = "PASSword123";
    string URL_ADDRESS = "http://localhost:4010/WebService1.asmx/" + method + "?sso=" + CREDENTIALS + "&o=" + operation; //TODO: customize to your needs

    // ===== You shoudn't need to edit the lines below =====

    // Create the web request
    HttpWebRequest request = WebRequest.Create(new Uri(URL_ADDRESS)) as HttpWebRequest;

    // Set type to POST
    request.Method = "POST";
    request.ContentType = "application/xml";

    // Create the data we want to send
    StringBuilder data = new StringBuilder();
    data.Append(xmlPayload);
    byte[] byteData = Encoding.UTF8.GetBytes(data.ToString());      // Create a byte array of the data we want to send
    request.ContentLength = byteData.Length;                        // Set the content length in the request headers

    // Write data to request
    using (Stream postStream = request.GetRequestStream())
    {
        postStream.Write(byteData, 0, byteData.Length);
    }

    // Get response and return it
    XmlDocument xmlResult = new XmlDocument();
    try
    {
        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        {
            StreamReader reader = new StreamReader(response.GetResponseStream());
            result = reader.ReadToEnd();
            reader.Close();
        }
        xmlResult.LoadXml(result);
    }
    catch (Exception e)
    {
        //xmlResult = CreateErrorXML(e.Message, "");  //TODO: returns an XML with the error message
    }
    return xmlResult;
}

0 Ответов