How to ... Run AXL with Curl

CUCM/AXL Version tested: 8.5

CURL is a an open source, cross-platform tool able to perform URL-based network requests from the comamnd line: http://curl.haxx.se/

CURL can be used, among other things, to make HTTP requests, including SOAP requests. In this example, the XML for the actual AXL SOAP request is stored in a file on the local system, called 'request.xml' Here are the contents:

request.xml

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Header/>
  <soapenv:Body>
    <ns:executeSQLQuery>
      <sql>Select name from device where tkclass = 1</sql>
    </ns:executeSQLQuery>
  </soapenv:Body>
</soapenv:Envelope>

This XML could be replaced with any valid AXL request XML.

The CURL command is executed in the same directory as the request.xml file.

1
$ curl -k -u Administrator -H "Content-type: text/xml;" -H "SOAPAction:CUCM:DB ver=8.5" -d @request.xml https://[CCM-IP-ADDRESS]:8443/axl/

The parameters given are as follows:

  • -k : Disable SSL key authentication of the AXL server
  • -u : In this example 'Administrator'. The HTTP user name. This should be a CUCM user with AXL access role
  • -H : Header. Two header entries are given, one to override CURL's default Content-type, and the other to specify the AXL version
  • -d : Specifies the data file where the data to be sent is stored
  • The final parameter is the AXL URL, be sure to ensure the IP address is valid and includes the port designation :8443