我使用下面的發送XML文件服務器代碼,如果我上傳adduser.xml
(這是使用了添加用戶),我得到成功響應獲取錯誤響應,但對於deleteuser.xml
(這是用戶的刪除用戶)我得到使用web請求
The remote server returned an error: (400)
Bad Request. at System.Net.HttpWebRequest.GetResponse()
at DeleteUser.Page_Load(Object sender, EventArgs e)
我已經試過的方法類型PUT
,GET
,POST
和DELETE
,但得到了同樣的錯誤。
你能plz幫助我什麼,我做錯了什麼?
public partial class DeleteUser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebRequest req = null;
WebResponse rsp = null;
try
{
string fileName = Server.MapPath("~/deleteuser.xml");
string uri = "http://test.com/AuctionUsers/delete";
req = WebRequest.Create(uri);
req.Proxy = WebProxy.GetDefaultProxy(); // Enable if using proxy
req.Method = "POST";
req.ContentType = "application/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(); //I am getting error over here
StreamReader sr = new StreamReader(rsp.GetResponseStream());
string result = sr.ReadToEnd();
sr.Close();
Response.Write(result);
}
catch (WebException webEx)
{
Response.Write(webEx.Message.ToString());
Response.Write(webEx.StackTrace.ToString());
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
Response.Write(ex.StackTrace.ToString());
}
finally
{
if (req != null) req.GetRequestStream().Close();
if (rsp != null) rsp.GetResponseStream().Close();
}
}
private string GetTextFromXMLFile(string file)
{
StreamReader reader = new StreamReader(file);
string ret = reader.ReadToEnd();
reader.Close();
return ret;
}
}
在此先感謝您。
的服務器似乎在期待一個不同的請求。這可能意味着你的deleteuser.xml出現故障,或者你需要使用不同的方法,提供一定的HTTP標頭或做其他事。我們需要更多地瞭解服務器以幫助您。 – Wutz