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 //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.