IBM Support

Access to internal server classes -- Restrict is not supported on WebSphere Process Server

Troubleshooting


Problem

WebSphere Process Server starts with exceptions when the option "Access to internal server classes" is set to "Restrict." The following exception appears in the server system log files : java.lang.NoClassDefFoundError: com.ibm.websphere.product.xml.component.component at com.ibm.wbiserver.util.WPS.getFELevel(WPS.java:450) java.lang.NoClassDefFoundError: com.ibm.ws.odc.util.ApplicationServerServiceFinder at com.ibm.ws.wccm.services.bpc.metadata.impl.BPCServerConfigLocator.initializeConfigResource (BPCServerConfigLocator.java:80) java.lang.NoClassDefFoundError: org.eclipse.osgi.baseadaptor.loader.BaseClassLoader at com.ibm.ws.al.ClassLoaderBasedALAdapter.createInstance(ClassLoaderBasedALAdapter.java:98)

Symptom

In the SystemOut.log and SystemErr.log for the server process you will see a number of exceptions such as:


java.lang.NoClassDefFoundError: com.ibm.websphere.product.xml.component.component
at com.ibm.wbiserver.util.WPS.getFELevel(WPS.java:450)

java.lang.NoClassDefFoundError: com.ibm.ws.odc.util.ApplicationServerServiceFinder
        at com.ibm.ws.wccm.services.bpc.metadata.impl.BPCServerConfigLocator.initializeConfigResource(BPCServerConfigLocator.java:80)

java.lang.NoClassDefFoundError: org.eclipse.osgi.baseadaptor.loader.BaseClassLoader
        at com.ibm.ws.al.ClassLoaderBasedALAdapter.createInstance(ClassLoaderBasedALAdapter.java:98)


The server process will indicate that it has encountered problems at startup:


Server <ServerName> open for e-business, problems occurred during startup

Cause

The cause of the problem is that either the option "Access to internal server classes" is set to "Restrict" or the variable is set to to the following value on the start server script:


-Dibm.websphere.internalClassAccessMode=restrict

Resolving The Problem

Use the administrative console to set the option "Access to internal server classes" to "Allow". For each server, you will find this setting under Servers > Application Servers > server_name. On the left side of the server's panel, you will see "Access to internal server classes" with list of options. Select Allow from the list.

Alternatively, you can set the system property on the server start script to:


-Dibm.websphere.internalClassAccessMode=allow

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"},{"code":"PF012","label":"IBM i"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SS7J6S","label":"WebSphere Enterprise Service Bus"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21291360