2016-07-21 23 views
1

Ich versuche, den Agentenstatus mithilfe der von Cisco bereitgestellten REST-API zu ändern. hier ist der Code, den ich schrieb:Methode nicht zulässig unter Verwendung der Cisco REST-API

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("https://url:8445/finesse/api/User/agent2")); 
request.Credentials = new NetworkCredential("agent2", "12345"); 

request.Method = "POST"; 
request.ContentType = "application/xml"; 
// request.Accept = "application/xml"; 
XElement redmineRequestXML = 
new XElement("User", 
new XElement("state", "READY"), 
new XElement("extension", "3010") 
); 
byte[] bytes = Encoding.UTF8.GetBytes(redmineRequestXML.ToString()); 
request.ContentLength = bytes.Length; 

using (Stream putStream = request.GetRequestStream()) 
{ 
putStream.Write(bytes, 0, bytes.Length); 
} 
// Log the response from Redmine RESTful service 
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
using (StreamReader reader = new StreamReader(response.GetResponseStream())) 
{ 
MessageBox.Show(reader.ReadToEnd()); 
} 

Und ich bin immer diese Fehlermeldung:

The remote server returned an error: (405) Method Not Allowed.

so bitte eine Idee, könnte dieses Problem helfen zu lösen?

Antwort

1

nach 2 Tagen habe ich herausgefunden, dass das Problem, diese Linie zu ersetzen ist:

request.Method = "POST"; 

von dieser Linie:

request.Method = "PUT";