-1
我面临的问题,使从c#post post方法 我有500内部服务器错误。发布方法时的服务器错误500
这是我的代码,这是调用需要时间,它包括XML文档。
我用ARC插件做了同样的调用,它工作正常。但在这里.net我面临的问题
string Url = "http://10.107.2.153/onvif/device_service";
//System.Net.WebRequest req = System.Net.WebRequest.Create(Url);// + (string.IsNullOrEmpty(Data) ? "" : "?" + Data));
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
//req.Credentials = new NetworkCredential("admin","Cisco123");
req.Method = "POST";
req.ContentType = "text/xml;charset=UTF-8";//action=\"http://www.onvif.org/ver10/device/wsdl/GetSystemDateAndTime\"";
req.Headers.Add("SOAPAction","\"http://www.onvif.org/ver10/device/wsdl/GetSystemDateAndTime");
string postData = "<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\"><s:Body xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><GetSystemDateAndTime xmlns=\"http://www.onvif.org/ver10/device/wsdl\"/></s:Body></s:Envelope>";
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(postData);//Encoding.UTF8.GetBytes(postData);
req.ContentLength = byteArray.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
try
{
System.Net.HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
}
catch (WebException wex)
{
WebResponse errResp = wex.Response;
using (Stream respStream = errResp.GetResponseStream())
{
StreamReader reader = new StreamReader(respStream);
string text = reader.ReadToEnd();
}
}
什么问题?例外详情请。 – adaam
错误:500内部错误 –
感谢您的帮助。 我可以通过增加一个参数来解决这个问题 req.ProtocolVersion = HttpVersion.Version10; –