通过C#中的AXL更新Cisco CUCM 11.5中的用户



我是C#和AXL的新手,所以我试图通过C#中的AXL更新最终用户PIN,但没有成功。我所发现的一切都是这样:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">
<soapenv:Header/>
<soapenv:Body>
<ns:updateUser sequence="?">
<userid>enduser1</userid>
<password>123456</password>
<pin>123456</pin>
</ns:updateUser>
</soapenv:Body>
</soapenv:Envelope>

但是如何在C#中使用它呢?是否有C#的指南或代码片段?

非常简单地使用HTTP上的XML字符串与系统。网Web客户端,你可以做一些类似的事情:

using System.Net;
using System;
public class UpdateUser
{
static public void Main ()
{
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) => true; //Install CUCM cert and remove this for production use
WebClient client = new WebClient ();
// Optionally specify an encoding for uploading and downloading strings.
client.Encoding = System.Text.Encoding.UTF8;
client.Headers.Add("Authorization","Basic QWRtaW5pc3RyYXRvcjpjaXNjb3BzZHQ=");
client.Headers.Add("SOAPAction","CUCM:DB ver=11.5 updateUser");
// Upload the data.
string reply = client.UploadString ("https://ds-ucm115-1.cisco.com:8443/axl/","<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns='http://www.cisco.com/AXL/API/8.5'><soapenv:Header/><soapenv:Body><ns:updateUser><userid>dstaudt3</userid><password>password</password><pin>123456</pin></ns:updateUser></soapenv:Body></soapenv:Envelope>");
// Disply the server's response.
Console.WriteLine (reply);
}
}

您可以通过XML文档编写器或使用SOAP编译器框架获得更丰富/更抽象的内容,但如果您的需求很简单,字符串操作往往可以避免大量开销和复杂性。。。

最新更新