将XML发送到Web服务仅在代码/应用程序中有效

时间:2019-03-22 00:00:57

标签: c# asp.net xml web-services

我看了很多关于SO的问题。 所有人都在询问如何将XML发送到Web服务。在我的应用程序中 IN 对其进行测试时,我的POST和GET都可以正常工作。但是当我从第三方应用程序,邮递员,谷歌等发送请求时,却无法正常工作...授权不是问题。我不知道是什么。

这是我创建的用于测试应用程序的额外页面:(显然,此代码中没有错误,因为一旦打开此页面,web-service.aspx便会工作并创建一个csv文件)

protected void Page_Load(object sender, EventArgs e)
{
    string requestXML = ReadXmlFile(); // this reads a test xml file

    Uri rateRequestURI = new Uri("http://www.myurl.com/web-service.aspx");
    string postData = "rateRequest=" + HttpUtility.UrlEncode(requestXML.ToString());
    byte[] postBuffer = Encoding.UTF8.GetBytes(postData);
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(rateRequestURI);
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = postBuffer.Length;
    request.Method = "POST";
    request.Timeout = 20000;
    request.KeepAlive = true;
    try
    {
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(postBuffer, 0, postBuffer.Length);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        requestStream = response.GetResponseStream();
        // Open the stream using a StreamReader for easy access. 
        StreamReader reader = new StreamReader(requestStream);
        // Read the content.                
        string responseFromServer = reader.ReadToEnd();
        // parse response
        XmlDocument xmlRequest = new XmlDocument();
        xmlRequest.LoadXml(HttpUtility.UrlDecode(responseFromServer).Replace("&", "&am p;"));
        XmlNodeList responseStatusCodes = xmlRequest.GetElementsByTagName("StatusCode");
        lblMessage.Text = "<b>Status: </b>" + responseStatusCodes.Item(0).SelectSingleNode("@Code").InnerText;
        lblMessage.Text += "<p></p>";
        lblMessage.Text += "<b>Message: </b>" + responseStatusCodes.Item(0).SelectSingleNode("Message").InnerText;
    }
    catch { lblMessage.Text = "Request timed-out"; }
}

但是,例如以邮递员发送时,如下所示;没用没有反应。我尝试了许多不同的标题。没有工作。我不明白原因。 enter image description here

0 个答案:

没有答案