After installing TIBCO iProcess Webservices Server Plug-in 11.9 Jetty.sh throws NullPointerException

After installing TIBCO iProcess Webservices Server Plug-in 11.9 Jetty.sh throws NullPointerException

book

Article ID: KB0138382

calendar_today

Updated On:

Products Versions
TIBCO iProcess Web Services Server Plug-in 11.9.0

Description

TIBCO iProcess Webservices Server Plugin 11.9 is supported with JAVA 11, the above error occurs when we use Java 17 (either external or shipped with TIBCO iProcess 11.10).

Environment

All Supported Environments

Resolution

Edit the <webservices_server_location>/jetty-9.4.35/jetty.sh (for Windows, it will be jetty.cmd) to point to a Java 11 path.

The variable below can be edited as follows:

JAVA_BIN="/opt/jdk-11.0.27/bin/"

Along with jetty.sh, there are other files (securitymanager, passwordmanager, urladmin scripts) that should be edited as well.

Refer to the documentation below for instructions:

https://docs.tibco.com/pub/ip-websvcs-clnt-pi/11.9.0/doc/html/user-guide/Manually_Configuring_the_Location_of_the_Java_Executable.htm?tocpath=User%20Guide%7CWeb%20Services%20Configuration%20and%20Administration%7C_____10#config_896716409_1027764

Issue/Introduction

After performing a fresh installation of TIBCO iProcess WebServices Server Plug-in 11.9 for TIBCO iProcess Engine 11.10, the Jetty server fails to initialize. When executing jetty.sh, the process terminates with a java.lang.NullPointerException specifically citing that this.cache is null, preventing the system from reading the array length.

In the DEBUG logs, you can see the error:

 AliasMBean - Unexpected exception thrown when parsing alias.xml: null
 
java.lang.ExceptionInInitializerError: null
 at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:77) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:253) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:89) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @397fbdb
 at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[?:?]
 at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[?:?]
 at java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) ~[?:?]
 at java.lang.reflect.Method.setAccessible(Method.java:193) ~[?:?]
 at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:150) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:147) ~[jaxb-impl-2.1.7.jar:2.1.7]
 at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
 at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:146) ~[jaxb-impl-2.1.7.jar:2.1.7]
 ... 80 more