cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4243
Views
5
Helpful
4
Replies

Axlsqltoolkit downloaded from CUCM (12.0) cannot run under java11

HD_RR401
Level 1
Level 1

About the Cisco AXL Toolkit downloaded from CUCM 12.0,

 

OS : CentoOS7.4 Linux
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.10 + 9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10 + 9-LTS, mixed mode, sharing)

 

Under the above environment, I ran it with the following command,

 

java -cp ./classes:./lib/saaj-api.jar:./lib/saaj-impl.jar:./lib/mail.jar:./lib/activation.jar:./lib/jaxm-api .jar: ./lib/jaxm-runtime.jar:./lib/xercesImpl.jar:./lib/xml-apis.jar AxlSqlToolkit -username = xxxxxxx -password = xxxxxx -host = xx.xx.xx.xx

 

However, the following message is displayed and it cannot be executed.

 

"Error: Unable to initialize main class AxlSqlToolkit
Caused by: java.lang.NoClassDefFoundError: javax / xml / soap / SOAPMessage "


The Cisco AXL Toolkit README.txt says the version of jre is described as "The 1.7.0_21 or above JRE version is recommended." Is it not compatible with java11?

 

Also, when I build AxlSqlToolkit in this environment
(Set activation.jar, mail.jar, xercesImpl.jar, xml-apis.jar in lib directory in CLASSPATH, move to src directory and build with javac AxlSqlToolkit.java)

symbol: class SOAPConnection
location: class AxlSqlToolkit
AxlSqlToolkit.java:92: error: cannot find symbol
public static String convertSOAPtoString (SOAPMessage inMessage) throws Exception {
symbol: class SOAPMessage
location: class AxlSqlToolkit
AxlSqlToolkit.java:104: error: cannot find symbol
public SOAPMessage createSqlMessage (String cmdName, String sql) throws Exception {

..

 

I get the above errors one after another and cannot build.
It seems that JAVA11 does not support XML-SOAP related packages.

Could you tell me what it takes to get the AxlSqlToolkit to work with JAVA11?
If AxlSqlToolkit does not support JAVA11, is there plan to support JAVA11?
If so, when will it be?

 

Best Regards.

4 Replies 4

dstaudt
Cisco Employee
Cisco Employee

Java, after 1.8 I believe, removed default inclusion of the JAX-WS packages, which it appears the toolkit sample uses.  So the readme should more accurately say you can use 1.7 or 1.8. 

Not sure what it would take to update the toolkit for Java 11, but I can open a ticket to have the engineering team take a look at doing that.  In the mean time, you might consider using this set of samples as a template, which does support Java 11 and implements a lot of recommended best practices like cookies, cert validation, etc.: https://developer.cisco.com/docs/axl/#!authentication/using-basic-authentication

Thank you for sharing the Java 11 sample set. I would like to try this first.

Also, sorry to trouble you, but could you please escalate the update of the toolkit to the engineering team?

 

Best Regards.

FYI I opened a defect ticket for this issue: CSCvy11953

anoopr
Level 1
Level 1

As @dstaudt pointed out, Java deprecated JEE packages in version 9 and removed them completely from later versions. If you use a build automation tool like Maven or Gradle then you can specify them in your build file. Code snippets to add to your build file for the latest version of a dependency can be obtained from the maven central repo.

  1. XML WS dependency from https://search.maven.org/artifact/javax.xml.ws/jaxws-api/2.3.1/jar 
  2. XML SOAP dependency from https://search.maven.org/artifact/jakarta.xml.soap/jakarta.xml.soap-api/2.0.1/jar
  3. for other dependencies please search in https://search.maven.org/ 

If you are not using a build automation tool, you can still download the jars from the pages above and add them to the build and runtime classpath. The download button is on the top right hand corner and you can select jar as the download type.