Java 11 support with the Gen 8.6 Web Service Wizard
search cancel

Java 11 support with the Gen 8.6 Web Service Wizard

book

Article ID: 219835

calendar_today

Updated On:

Products

Gen Gen - Workstation Toolset

Issue/Introduction

Referencing page Gen™ 8.6 > Technical Requirements > Third-Party Software Version the "Web Service Wizard Requirements" state:
It states no support for Java 11:
+++
Web Service Wizard Requirements
 - Gen 8.6 Toolset
 - Java SE Development Kit 8.0 Update 60
 - Apache-Axis Web Service Application Server: 1.4
 - Tested Application Server: Tomcat 9.0.0.M13
+++

However, Gen 8.6 does state support for Java 11 under the "Compilers" section on the same page.
So Java 11 could be used for the Java Proxy/XML build that is needed by the WSW. Should the Java Proxy/XML build be only done with Java 8 if it is being used for the WSW?

Environment

Gen Web Service Wizard

Resolution

Gen Engineering confirmed that (as of July 2021) only Java 8 has been officially certified for use with the 8.6 Web Service Wizard (WSW) under Tomcat 9.x and Axis 1.4.

1. If the user wants to try Java 11 at compile-time and at runtime for Tomcat 9.x and Axis 1.4 they can do so but it is not officially supported. Therefore if any Java 11 version-specific problem is found then the user would need to revert to Java 8. NOTE: When using Java 11 with Gen, the java source and target values are set to 11 so there is no backward compatibility for Java 8 at runtime i.e. Tomcat would need to be using a Java 11 JRE and not a Java 8 JRE.
From the Apache website indications are that:
Apache Axis 1.4 may support Java 11 because under the Apache Axis > Axis 1.x > Java > Developer's Guide it states "Install Java 1.3.1 JDK (or later)."
Tomcat 9.x "setup" also states "Any installed Java 8 or later JRE (32-bit or 64-bit) may be used."
However, those observations do not imply any official 8.6 WSW support with Java 11.

2. If the user reverts to using Java 8 then they will need to do that both for the Java Proxy/XML build and the WSW. Otherwise, if the Java Proxy/XML is built with Java 11, then when using JAVA_HOME=<Java 8 JDK> to build the WSW, the compile will fail because of the class file version mismatch i.e. source/target being set to 11 in the Java Proxy/XML build. Support encountered this expected error when testing a WSW Java 8 compile using a Java Proxy/XML compiled with Java 11 (Gen sample model):
+++
"C:\Program Files\Java\jdk1.8.0_211\\bin\javac" -encoding ISO-8859-15 -classpath "C:\Users\Administrator\Documents\CA\Gen 8.6\Models\sample.ief\\proxy\java\deploy\P900\P900.jar";;"C:\Program Files (x86)\CA\Gen86\Gen\classes\jprt86.xml.jar";"C:\Program Files (x86)\CA\Gen86\Gen\classes\csu86.jar";"C:\Program Files (x86)\CA\Gen86\Gen\classes\jprt.xml.jar";"C:\Program Files (x86)\CA\Gen86\Gen\classes\csu.jar" -d . ws1.java
ws1.java:43: error: cannot access ServerDetailDepartment
                ServerDetailDepartment op =
                ^
  bad class file: C:\Users\Administrator\Documents\CA\Gen 8.6\Models\sample.ief\proxy\java\deploy\P900\P900.jar(com/ca/ServerDetailDepartment.class)
    class file has wrong version 55.0, should be 52.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error
NMAKE : fatal error U1077: '"C:\Program Files\Java\jdk1.8.0_211\\bin\javac.EXE"' : return code '0x1'
+++

Additional Information

As a future task, Gen Engineering will review the potential certification of Java 11 with the Gen 8.6 Web Service Wizard.