簡體   English   中英

通過HTTP發布XML-Webforms

[英]Posting XML over HTTP - Webforms

因此,我有此代碼,理想情況下,該代碼不得更改。 在我的測試站點上,此代碼可以很好地執行並將新數據發布到數據庫中。 但是在實時站點上,我收到以下錯誤。 誰能建議這可能是什么?

protected void Button1_Click(object sender, EventArgs e)
{
    WebRequest req = null;
    WebResponse rsp = null;
    //  try
    //  {
    string fileName = Server.MapPath("ExampleXML.xml");
    string uri = "http://XXX/api/index.aspx";

    req = WebRequest.Create(uri);
    //req.Proxy = WebProxy.GetDefaultProxy(); // Enable if using proxy
    req.Method = "POST";        // Post method
    req.ContentType = "text/xml";     // content type
    // Wrap the request stream with a text-based writer
    StreamWriter writer = new StreamWriter(req.GetRequestStream());
    // Write the XML text into the stream
    writer.WriteLine(this.GetTextFromXMLFile(fileName));
    writer.Close();
    // Send the data to the webserver
    rsp = req.GetResponse();

    //  }
    //  catch (WebException webEx)
    //  {

    //  }
    //  catch (Exception ex)
    //  {

    // }
    // finally
    //{
    if (req != null) req.GetRequestStream().Close();
    if (rsp != null) rsp.GetResponseStream().Close();
    //}
}

僅實時站點上的錯誤是:-

Server Error in '/' Application.

Cannot send a content-body with this verb-type.

Line 47:         // finally
Line 48:         //{
Line 49:         if (req != null) req.GetRequestStream().Close();
Line 50:         if (rsp != null) rsp.GetResponseStream().Close();
Line 51:         //}

但是我正在發送一個POST請求,它可以在我的測試站點上運行,而不能在實時站點上運行。 我確保代碼已復制並且所有文件都存在。

為什么此代碼只能在一個而不是另一個上工作?

干杯,邁克。

對於有興趣的人,這里的問題是在web.config中重寫URL,該URL設置為用/替換.aspx。 這阻止了正在發送的XML數據,並導致了上述錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM