AXL "Hello World

To get started with using AXL, lets look at an API request for a simple example.

Example Scenario: We want to get information about a particular phone.

For this task, we need to make the getPhone API request to the CUCM publisher.

Java Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Here is a java example of how to use the getPhone API call
  
import java.io.*;
import java.net.*;
  
public class AXLSample {
    public static void main(String[] args) throws Exception {
        //AXL service URL on Unified CM host ds-ucm851.cisco.com
        //Note this sample assumes the certificate for the host with subject
        //name 'host.com' has been imported into the Java keystore
        URL url = new URL("https://host.com:8443/axl/");
        //Create a java.net URLConnection object to make the HTTP request
        URLConnection conn = url.openConnection();
        //setDoOutput=true causes the URLConnection to perform a POST operation
        conn.setDoOutput(true);
        //HTTP Basic authorization string - a base64 encoded string with username:password, in this case 'Administrator:cisco!123'
        //This should be a UCM application user with Standard CCM Admin User and Standard AXL API Access roles
        String authorization = QWRtaW5pc3RyYXRvcjpjaXNjbyExMjM=";
        conn.setRequestProperty("Authorization","Basic " + authorization);
        //Set the SOAPAction header to 'CUCM:DB ver=8.5' for use with a UCM 8.5(1) host, request is 'getPhone'
        conn.setRequestProperty("SOAPAction","\"CUCM:DB ver=8.5 getPhone\"");
        //The request body will be in XML format
        conn.setRequestProperty("Content-Type","text/xml");
          
        //Build a string containing the contents of the AXL XML request - here 'getPhone'
        String AXLRequest = "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">";
        AXLRequest += "<soapenv:Body><ns:getPhone><name>SEP001B0CDBBE33</name></ns:getPhone></SOAP-ENV:Envelope>";
  
        //Create an OutputStreamWriter for the URLConnection object and make the request
        OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
        writer.write(AXLRequest);
        writer.flush();
  
        //Read the response
        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  
        //Output the response to the console
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
          
        //Cleanup the stream objects
        writer.close();
        reader.close();
    }
}



Go to How to Create an AXL Client in JAVA with JAX-WS to learn how to setup a Java application.

CURL Example

Go to How To Run AXL with CURL to get started with another AXL Web Services "Hello World" example.