【发布时间】:2015-04-15 16:15:26
【问题描述】:
我正在与cisco CUCM AXL API & C#, 合作
我想更改description's phone。我的代码没有问题,但是设备电话仍然是最近的描述,当我访问思科管理时,我找到了新的描述但是在在设备上。 知道为什么吗?
这是我的代码:
private bool subUpdateDevice(string _pattern, string _name, string _device, int _index)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"https://xxx.xxx.xxx.xxx:8443/axl/");
req.ProtocolVersion = HttpVersion.Version10;
req.Method = "POST";
req.Host = "xxx.xxx.xxx.xxx:8443";
req.ProtocolVersion = System.Net.HttpVersion.Version10;
req.ContentType = "text/xml";
req.Accept = "text/xml";
req.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("XXXXX:xxxxx")));
string strAXLRequest = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" ";
strAXLRequest += "xmlns:ns=\"http://www.cisco.com/AXL/API/10.5\">";
strAXLRequest += "<soapenv:Header/><soapenv:Body>";
strAXLRequest += "<ns:updatePhone>";
strAXLRequest += "<name>" + _device + "</name>";
strAXLRequest += "<lines><line>";
strAXLRequest += "<index>" + _index + "</index>";
strAXLRequest += "<display>" + _name + "</display>";
strAXLRequest += "<dirn>";
strAXLRequest += "<pattern>" + _pattern + "</pattern>";
strAXLRequest += "</dirn>";
strAXLRequest += "<displayAscii>" + _name + "</displayAscii>";
strAXLRequest += "</line></lines></ns:updatePhone>";
strAXLRequest += "</soapenv:Body></soapenv:Envelope>";
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
req.ContentLength = strAXLRequest.Length;
try
{
Stream s = req.GetRequestStream();
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strAXLRequest);
s.Write(buffer, 0, strAXLRequest.Length);
s.Close();
try
{
WebResponse resp = req.GetResponse();
s = resp.GetResponseStream();
StreamReader sr = new StreamReader(s);
string outputString = sr.ReadToEnd();
sr.Close();
s.Close();
resp.Close();
if (outputString.Contains("updatePhoneResponse"))
{
return true;
}
else return false;
}
catch (Exception ex)
{
string excep = ex.ToString();
return false;
}
}
catch (WebException wex)
{
string excep = wex.ToString();
return false;
}
catch (NotSupportedException nex)
{
string excep = nex.ToString();
return false;
}
catch (ObjectDisposedException oex)
{
string excep = oex.ToString();
return false;
}
catch (ProtocolViolationException pex)
{
string excep = pex.ToString();
return false;
}
}
【问题讨论】: