2016-07-21 2 views
1

J'essaie de modifier l'état de l'agent à l'aide de l'API REST fournie par Cisco. est ici le code que j'ai écrit:Méthode non autorisée à l'aide de l'API Cisco REST

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

Et je reçois cette erreur:

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

donc s'il vous plaît toute idée pourrait aider à résoudre ce problème?

Répondre

1

après 2 jours je me suis dit que la question est de remplacer cette ligne:

request.Method = "POST"; 

par cette ligne:

request.Method = "PUT";