In Java SE 17, the encapsulation of Java was increased through the removal
of the --illegal-access flag. In addition to hiding JDK internals
this also stops one module from accessing types of another module that are not exported.
This can cause issues with IIOP serialization for the parameters and return values for
method calls on remote EJBs since private field and method values must be accessed.
Issues due to this change will generally appear as a generic java.rmi.MarshalException.
To fix any issues, you will need to open any required modules on the client or server where the failure
occurs. By default, Liberty opens several commonly used modules. To see the modules already
opened by Liberty, look in the wlp/lib/platform/java/java9.options file. Any additional
open statements should be added to the jvm.options file. For example:
--add-opens
java.base/java.lang=ALL-UNNAMED
For more information on these changes, see JEP 403: Strongly Encapsulate JDK Internals.