The AXL Philosophy and Goal
We, as programmers, typically have a look at an API with wild goals about constructing dazzling user-facing functions that encourage jaw-dropping amazement. That’s simply how we’re constructed. And the AXL API has the facility to allow you to do this.
One phrase… DON’T.
AXL just isn’t an API for user-facing functions. It’s an administration and configuration API. You don’t wish to push an end-user software constructed on AXL to 1,000 customers. And if you happen to do, you’re going to have a nasty time.
Consider AXL as a programmatic approach to carry out net GUI administration and configuration duties. For instance, within the net GUI, you add an finish consumer this fashion.
- Choose the Person Administration menu
- Choose Finish Person
- Click on on +Add New
- Fill out the shape
Now, programming that may appear foolish and extra work than utilizing the net GUI. However consider it this fashion. You’ve gotten a textual content file with a listing of names, electronic mail addresses, cellphone numbers, assigned firm cellphone extension and different private knowledge of latest workers. Now you possibly can write an software that reads the file and creates and configures an end-user account for every of the individuals and creates and configures strains and telephones entries for them. That’s automating an administration and configuration job in a method that makes your life as an administrator simpler.
AXL is a SOAP-based API. There’s no REST for the depraved right here.
Probably the most typically used AXL APIs fall into the next teams:
- addSomething (e.g., add a cellphone)
- getSomething (e.g., get a cellphone’s information and settings)
- updateSomething (e.g., change a cellphone’s information and settings)
- applySomething (e.g., apply the adjustments you made for the cellphone)
- removeSomething (e.g., take away a cellphone)
- listSomething (e.g., listing all telephones)
There are just a few different AXL APIs not in these teams that you just’ll want at occasions, however these are probably the most often used operations.
Getting Began: Preparation
One of the simplest ways to get accustomed to AXL is to make use of a free, open-source software referred to as SoapUI. SoapUI makes it straightforward to experiment with the AXL API. However first, you have to obtain the information you’ll use with SoapUI.
Log into Name Supervisor as an administrator. Underneath the Utility menu, choose Plugins.
Click on the Discover button (not proven on this display shot). The primary merchandise is the Cisco AXL Toolkit. Click on on Obtain and put it aside someplace.
The saved file ought to appear like this:
Open the zip file to see its contents
Open the schema listing.
Choose the model of Name Supervisor you’re utilizing. On this pattern, we’ll choose present.
Copy the three information above to a working listing. I selected C:SOAP.
Obtain and set up the open-source SoapUI from this web page. You’re carried out with preparation. Now, it’s time to create an AXL undertaking to play with the API.
Set Up a SoapUI AXL Venture
Click on on the File menu and select New SOAP Venture.
Choose a reputation on your undertaking. Set the Preliminary WSDL to level to the AXLAPI.wsdl file you saved to a working listing earlier. Click on OK.
Within the left column, it’s best to see this (assuming you used the identify New AXL Take a look at, in any other case search for the identify you selected).
Proper click on on AXLAPIBinding and choose Present Interface Viewer. It is best to see this Dialog Field.
Click on on the Service Endpoints tab and also you’ll see the place you possibly can enter info for AXLAPI binding.
Kind what you see within the Endpoint area, besides level to your server the place it says YOURSERVER. Assuming it’s protected on your work surroundings to do, enter your Administrator username and password within the applicable fields. You possibly can create an Administrator account in Name Supervisor particularly to be used with the AXL API, or you should utilize your main Administrator account.
You possibly can shut this dialog field now.
Now let’s play with one of many requests. Within the left column, discover listPhone and click on on its plus signal. Then double-click on Request 1. It is best to see all of the XML for this request pop up in a brand new dialog.
The listPhone request has just a few potential hangups which might be good to learn to keep away from. Any listSomething request goes to return, effectively, a listing of issues. Scroll right down to the underside of the request XML and also you’ll see these choices. These provide the choice to skip numerous outcomes, or outline the start line. We don’t wish to mess with these choices proper now, so choose them and delete them.
On the prime, search for what I’ve chosen right here, choose it and delete it. This attribute may be helpful, and also you don’t all the time need to delete it, however on this case, you’ll must take away the ‘sequence=”?”’ for the request to work correctly.
There’s yet another factor. Eliminate what you see chosen on this display shot. Choose it and delete it.
There are method too many values to specify, so let’s chop down the request to appear like this. Make sure that to place a p.c signal within the <identify></identify> tag. This can be a wild card, which suggests it should listing ALL the telephones. You wish to begin easy, so it is a simplified listPhone operation.
Now’s the time to strive it out. Click on on the inexperienced “run” icon within the higher left. It is best to see the suitable aspect of the request change to this:
That is an unlucky bug within the present model of SoapUI. It ought to present you the XML response by default, nevertheless it as an alternative exhibits you uncooked info. Till the app is mounted, you’ll need to click on on the higher left XML tab to view the response.
The response would possibly look one thing like this:
With that, you now have sufficient fundamental data to experiment with any of the AXL APIs. Hey now, you’re an all-star, get your sport on, go play.
As soon as you’re accustomed to how the API works, strive programming with the API:
And if you happen to actually wish to run with the massive boys, right here’s a tip for operating a number of AXL request sequentially. Each time you make an AXL request, Name Supervisor launches a Tomcat session. Whenever you make many requests in a row, Name Supervisor will launch a number of Tomcat classes, which burn up CPU and RAM.
Right here’s a method round that. On the backside of the response, open up the headers and also you’ll see a cookie named JSESSIONID and its worth.
If you happen to set the JSESSIONID cookie and use the identical worth on your subsequent AXL request, Name Supervisor will re-use the Tomcat session as an alternative of launching a brand new one.
What to Keep away from and Frequent Errors
Many requests have a listing of non-obligatory search parameter tags, generally <identify> and <uuid>. You’ll often have to decide on one and delete the others.
As logical as it might appear, you possibly can’t carry out a getPhone, change some values, after which copy and paste the modified XML into an updatePhone request. getPhone and updatePhone XML tags should not mirror pictures.
Watch out when utilizing APIs that provide you with direct entry to the Name Supervisor database, like executeSqlQuery. Difficult joins could also be intelligent, however they’ll additionally suck up CPU and reminiscence the scale of a spy balloon, and that eats into the efficiency of each different operation.
We’d love to listen to what you assume.
Ask a query or depart a remark beneath.
And keep related with Cisco DevNet on social!