如何从C#中的Web服务中获取价值?

时间:2012-02-01 10:49:45

标签: c# xml json

我正在向网络服务发送一个URL和XML,以便它返回有关结果的JSON。我在这里将请求发布到webservices如何从webservices获取值。 Web服务返回的值是JSON。这里应该返回什么类型以及应该返回什么来获取HTTP响应状态和正文

public string HttpPostcredentials(string XML, string url)
{
    try
    {
        HttpWebRequest req = WebRequest.Create(new Uri(url)) as HttpWebRequest;
        req.Method = "POST";
        byte[] buffer = Encoding.ASCII.GetBytes(XML);
        req.ContentLength = buffer.Length;
        req.ContentType = "application/xml";
        Stream PostData = req.GetRequestStream();
        PostData.Write(buffer, 0, buffer.Length);
        PostData.Close();            
    }
    catch (Exception e)
    {
    }
    return null;
}

2 个答案:

答案 0 :(得分:1)

这就是你要找的东西:

var request = WebRequest.Create(string.Concat(serviceUrl, resourceUrl)) as HttpWebRequest;
if (request != null)
{
    request.ContentType = "application/xml";
    request.Method = "POST";
}    

byte[] requestBodyBytes = Encoding.ASCII.GetBytes(XML);
request.ContentLength = requestBodyBytes.Length;
using (Stream postStream = request.GetRequestStream())
    postStream.Write(requestBodyBytes, 0, requestBodyBytes.Length);


if (request != null)
{
    var response = request.GetResponse() as HttpWebResponse;
    if(response.StatusCode == HttpStatusCode.OK)
    {
        Stream responseStream = response.GetResponseStream();
        if (responseStream != null)
        {
            var reader = new StreamReader(responseStream);

            responseMessage = reader.ReadToEnd();
        }
    }
    else
    {
        responseMessage = response.StatusDescription;
    }
}

答案 1 :(得分:0)

您需要从HttpWebRequest获取响应

        WebResponse result = req.GetResponse();