2016-08-08 4 views
-1

Ich habe Probleme, Post-Methode von C# Ich habe 500 interne Server Fehler.Server Fehler 500 zum Zeitpunkt der Post-Methode

Hier ist mein Code, der Aufruf zu nehmen Zeit und es xml Dokument enthalten.

Ich habe denselben Aufruf mit ARC-Plugin gemacht, es funktioniert gut. Aber hier in .net Ich habe das Problem

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(); 
    } 
} 
+0

Was ist das Problem? Ausnahmedetails bitte. – adaam

+0

Fehler: 500 Interner Fehler –

+0

Vielen Dank für Ihre Hilfe. Ich bin in der Lage, dieses Problem zu lösen, indem Sie einen weiteren Parameter als req.ProtocolVersion = HttpVersion.Version10; –

Antwort

0

durch Hinzufügen von Protokollversion Parameter Problem ist gelöst.

req.ProtocolVersion = HttpVersion.Version10 

kann es aufgrund von Protokollkonflikten Probleme geben.

Verwandte Themen