updateUser в Cisco CUCM 11.5 через AXL в C#

Я новичок в C# и AXL, поэтому безуспешно пытаюсь обновить PIN-код конечного пользователя через AXL в C#. Все, что я нашел, это это:

<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#?


person mpro    schedule 30.07.2018    source источник


Ответы (1)


Очень просто, используя строки XML через HTTP с System.Net.Webclient, вы можете сделать что-то вроде:

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, но если ваши потребности просты, манипуляции со строками, как правило, позволяют избежать больших накладных расходов и сложности...

person David Staudt    schedule 02.08.2018