gpt4 book ai didi

c# - Cisco Unified Call Manager (CUCM) AXL API 更新电话成功,但我的设备没有变化

转载 作者:行者123 更新时间:2023-12-02 04:22:10 25 4
gpt4 key购买 nike

我正在使用cisco CUCM AXL API 和 C#,

我想更改描述的电话。我的代码没有问题,但设备电话仍然是最近的描述,当我访问Cisco管理时,我找到新的描述,但在设备上。 知道为什么吗?

这是我的代码:

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

}

最佳答案

我找到了它,我必须像在 CUCM 中那样应用配置

我的代码用于更改手机中的数据,但如果我们需要应用新配置,我们应该调用 ApplyPhone .. 最终它对我有用:这是代码(只需更改 strAXLRequest

      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:applyPhone>";
strAXLRequest += "<name>" + _device + "</name>";
strAXLRequest += "</ns:applyPhone>";
strAXLRequest += "</soapenv:Body></soapenv:Envelope>";

关于c# - Cisco Unified Call Manager (CUCM) AXL API 更新电话成功,但我的设备没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com