Skip to Content
avatar image
Former Member

First launch of BO 4.1 after install, getting NoClassDefFoundError when launching CMC

I am a total BO beginner, so I created a VM with Windows Server 2008 R2 x64, installed 160+ Windows updates, .NET Framework 3.5, downloaded and unzipped the necessary installation packages (the ones starting with 51046778) and finally installed BusinessObjects 4.1. After more than 2 hours 1/2, installation was complete.

Then I tried launching CMC, but I landed on a 500 error page caused by

java.lang.ClassNotFoundException: com.sap.security.core.server.csi.util.URLEncoder.

I googled and tried several solutions, all of them failed :

  • using another browser (Chrome instead of IE)
  • restarting VM
  • restarting Tomcat, SIA and WWW publication server in Central Configuration Manager
  • searching for above mentioned package com.sap.security.core.server.csi.jar : found it in 3 different locations
  • adding a JAVA_HOME environment variable linking to C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm
  • adding this to Path environment variable : %JAVA_HOME%\bin
  • adding this to Path environment variable : C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64

Some forum posts mention checking classpath, but I really have no clue about where this classpath is located (inside some property file ?)

Here is the complete error message :

Etat HTTP 500 - L''exécution de la servlet a lancé une exception

type Rapport d''exception

message L''exécution de la servlet a lancé une exception

description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

exception

javax.servlet.ServletException: L''exécution de la servlet a lancé une exception
com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:168)
cause mère

java.lang.NoClassDefFoundError: com/sap/security/core/server/csi/util/URLEncoder
com.businessobjects.bip.core.web.context.CoreWebParameters.getUrlParams(CoreWebParameters.java:53)
com.businessobjects.bip.core.web.boetrustguard.BOETrustPrepareFilter.setCafUrlParamsThread(BOETrustPrepareFilter.java:61)
com.businessobjects.bip.core.web.boetrustguard.BOETrustPrepareFilter.doFilter(BOETrustPrepareFilter.java:34)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.bip.core.web.supportabilty.TraceLogScopeFilter.doFilter(TraceLogScopeFilter.java:38)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.bip.core.web.appcontext.RequestInitFilter.doFilter(RequestInitFilter.java:26)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.serviceHelper(BundlePathAwareServiceHandler.java:235)
com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.service(BundlePathAwareServiceHandler.java:197)
com.businessobjects.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:220)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:168)
cause mère

java.lang.ClassNotFoundException: com.sap.security.core.server.csi.util.URLEncoder
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
java.lang.ClassLoader.loadClass(ClassLoader.java:313)
com.businessobjects.bip.core.web.context.CoreWebParameters.getUrlParams(CoreWebParameters.java:53)
com.businessobjects.bip.core.web.boetrustguard.BOETrustPrepareFilter.setCafUrlParamsThread(BOETrustPrepareFilter.java:61)
com.businessobjects.bip.core.web.boetrustguard.BOETrustPrepareFilter.doFilter(BOETrustPrepareFilter.java:34)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.bip.core.web.supportabilty.TraceLogScopeFilter.doFilter(TraceLogScopeFilter.java:38)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.bip.core.web.appcontext.RequestInitFilter.doFilter(RequestInitFilter.java:26)
com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.serviceHelper(BundlePathAwareServiceHandler.java:235)
com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.service(BundlePathAwareServiceHandler.java:197)
com.businessobjects.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:220)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:168)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.32.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Oct 29, 2017 at 01:51 AM

    Can you try to run the repair on the install?

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 30, 2017 at 08:22 AM

    Thank you for your answer. I kept on googling and finally came across this solution :

    http://www.forumtopics.com/busobj/viewtopic.php?p=954297

    1. Stop Tomcat and SIA
    2. Go to this folder under Tomcat - C:\Program Files (x86)\SAP BusinessObjects\tomcat\work\Catalina
    3. Rename localhost to localhost_old
    4. Go to this folder under Tomcat - C:\Program Files (x86)\SAP BusinessObjects\tomcat\conf\Catalina
    5. Rename locahost to localhost_old
    6. Start SIA and Tomcat
    7. Wait for 15 ~ 20 mins (Until all the applications gets re-deployed)

    And it worked...

    But this morning, after

    • adding more RAM
    • installing SAP Business Objects Explorer
    • restarting to complete Windows updates,

    I got another error 500.

    Etat HTTP 500 - while trying to invoke the method java.util.Properties.entrySet() of an object loaded from local variable 'globalProperties'

    type Rapport d''exception

    message while trying to invoke the method java.util.Properties.entrySet() of an object loaded from local variable 'globalProperties'

    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

    exception

    java.lang.NullPointerException: while trying to invoke the method java.util.Properties.entrySet() of an object loaded from local variable 'globalProperties'
    com.businessobjects.servletbridge.customconfig.Config.<init>(Config.java:37)
    com.businessobjects.servletbridge.customconfig.ConfigReader.getConfig(ConfigReader.java:370)
    com.businessobjects.pinger.TimeoutManagerFilter.getSessionState(TimeoutManagerFilter.java:203)
    com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:82)
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.32.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      I thought that running repair consisted in running the install program again (what I did but after 2 hours it did not solve anything, it even worsened things) but maybe there is another repair option.

      But redeploying (thank you for providing the right term) did the trick.

  • avatar image
    Former Member
    Oct 30, 2017 at 09:20 AM

    RenamingC:\Program Files (x86)\SAP BusinessObjects\tomcat\work\Catalina\localhost and C:\Program Files (x86)\SAP BusinessObjects\tomcat\conf\Catalina\localhost did the trick again !

    I hope I won't have to do this everytime I reboot the VM...

    Add comment
    10|10000 characters needed characters exceeded