cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
934
Views
0
Helpful
5
Replies

Api Axl

Adportas
Level 1
Level 1

where I find the AXL API documentation, to work with Java??

5 Replies 5

npetrele
Cisco Employee
Cisco Employee

There is no specific AXL Java library. Simply create your Java application to use SOAP requests and responses and use the AXL SOAP API documentation.

 

The current stable version of Java is Java 15.02.  Older versions of Java (1.8, for example), included tools called wsimport and wsgen, which you could use to generate Java classes from the AXL WSDL. Honestly, that method of using AXL in Java left a lot to be desired, and these tools are no longer included in the latest versions of Java. There may still be an open source utility to generate classes from WSDLs, but I haven't tried any of them.

 

Any documentation explaining the following methods?

 

AddSipTrunkReq addSipTrunkReq = new AddSipTrunkReq();
XSipTrunk xSipTrunk = new XSipTrunk();
XFkType xFkTypeDevicePool = new XFkType();

AXLAPIService axlService = new AXLAPIService();
AXLPort axlPort = axlService.getAXLPort();

 

 

This project collects a few AXL/Java samples showing use of WSDL-based code generation and attempts to implement some important best-practices: https://github.com/CiscoDevNet/axl-java-samples

The methods you are listing above would come from a library autogenerated by JAX-WS (this project uses this implementation: https://github.com/eclipse-ee4j/metro-jax-ws) by reading the AXL WSDL files. 

AddSipTrunkReq() represents an individual SOAP method, here corresponding to addSipTrunk.  The JAX-WS code generation should create such methods for all of the AXL requests.

  • XSipTrunk() represents an XSipTrunk element in the AXL schema.  AXL objects are made up of elements and sometimes sub-elements, e.g. https://pubhub.devnetcloud.com/media/axl-schema-reference/docs/Files/AXLSoap_XSipTrunk.html#Link11D2 .  In order to build up a 'complete' AXL objects for use with a request, you may need to instantiate a bunch of sub-elements, set their properties, and assign them to the root object.
  • XFkType() this represents a 'foreign key' type.  In general it will be an element consisting of a name or unique UUID referencing another AXL object (corresponding to a record in another UCM database table linked by a foreign key)
  • AXLAPIService() creates the JAX-WS object representing the AXL SOAP service
  • getAXLPort() returns the specific SOAP port of the AXL service

Use of AXL with JAX-WS is pretty complicated/involved, and as with any specific framework based on WSDL consumption (see .NET or Zeep) is not directly supported by Cisco.  If you only have a few simple AXL requests you need to deal with, it may be (far) easier to just treat the requests as XML strings sent over HTTP, rather than trying to use the WSDL-based stack...

has more information about this JAX-WS auto-generated library.
I am a bit lost. How could I create a routePoint or a CtiPort through code? Thanks for the help

Replied in the cross-posted thread here: https://github.com/CiscoDevNet/axl-java-samples